{
case "P":
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_EXPOSURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X7 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
case "A":
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_APERATURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X7 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
case "S":
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_SHUTTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X7 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
case "M":
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_WB : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X14 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
case "ART":
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_ART_FILTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X10 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
case "Movie":
case "iAuto":
default:
preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
- defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_INTERVAL_5SEC : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
+ defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X5 : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
break;
}
return (dispatcher.dispatchAction(IShowInformation.LOWER_AREA, preferences.getInt(preference_action_id, defaultAction)));
void driveZoomLens(int direction);
boolean isDrivingZoomLens();
float getCurrentDigitalZoomScale();
+ boolean magnifyLiveView(int scale);
void changeDigitalZoomScale(float scale, boolean isCyclic);
}
package jp.sfjp.gokigen.a01c.olycamerawrapper;
+import android.graphics.PointF;
import android.util.Log;
import java.util.Map;
return (currentDigitalScale);
}
+ public boolean magnifyLiveView(int scale)
+ {
+ try
+ {
+ if (camera != null)
+ {
+ if (camera.isMagnifyingLiveView())
+ {
+ // ライブビュー拡大中の場合には、拡大をやめる。
+ camera.stopMagnifyingLiveView();
+ return(true);
+ }
+
+ // ライブビュー画像について、中心を指定されたサイズに拡大する
+ OLYCamera.MagnifyingLiveViewScale lvScale = OLYCamera.MagnifyingLiveViewScale.X14;
+ if (scale == 5)
+ {
+ lvScale = OLYCamera.MagnifyingLiveViewScale.X5;
+ }
+ else if (scale == 7)
+ {
+ lvScale = OLYCamera.MagnifyingLiveViewScale.X7;
+ }
+ else if (scale == 10)
+ {
+ lvScale = OLYCamera.MagnifyingLiveViewScale.X10;
+ }
+ camera.startMagnifyingLiveViewAtPoint(new PointF(0.5f, 0.5f), lvScale);
+
+ return (true);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
+
/**
* デジタルズームを実行する
*
}
break;
+ case FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X5:
+ // ライブビュー拡大(5倍)
+ if (!changeLiveViewMagnify(5))
+ {
+ duration =IShowInformation.VIBRATE_PATTERN_NONE;
+ }
+ break;
+
+ case FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X7:
+ // ライブビュー拡大(7倍)
+ if (!changeLiveViewMagnify(7))
+ {
+ duration =IShowInformation.VIBRATE_PATTERN_NONE;
+ }
+ break;
+
+ case FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X10:
+ // ライブビュー拡大(10倍)
+ if (!changeLiveViewMagnify(10))
+ {
+ duration =IShowInformation.VIBRATE_PATTERN_NONE;
+ }
+ break;
+
+ case FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X14:
+ // ライブビュー拡大(14倍)
+ if (!changeLiveViewMagnify(14))
+ {
+ duration =IShowInformation.VIBRATE_PATTERN_NONE;
+ }
+ break;
+
default:
// 上記以外...なにもしない
duration =IShowInformation.VIBRATE_PATTERN_NONE;
return (isExecute);
}
+
+ /**
+ * ライブビューのサイズを指定した倍率に拡大する(拡大中の場合にはもとに戻す。)
+ *
+ * @param scale 拡大倍率
+ * @return 実行した場合true, 実行しなかった場合はfalse
+ */
+ private boolean changeLiveViewMagnify(int scale)
+ {
+ boolean isExecute = false;
+ IZoomLensHolder zoom = camera.getZoomLensHolder();
+ if (zoom != null)
+ {
+ isExecute = zoom.magnifyLiveView(scale);
+ }
+ return (isExecute);
+ }
+
/**
* 設定画面を開く
*
int FEATURE_DIGITAL_ZOOM_CHANGE = 50;
int FEATURE_DIGITAL_ZOOMIN = 51;
int FEATURE_DIGITAL_ZOOMOUT = 52;
+ int FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X5 = 53;
+ int FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X7 = 54;
+ int FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X10 = 55;
+ int FEATURE_CHANGE_LIVEVIEW_MAGNIFY_X14 = 56;
// エリアタッチ時の機能(featureNumber)