summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui
diff options
context:
space:
mode:
authorSu Liu <suliu@codeaurora.org>2013-09-04 18:16:50 +0800
committerArne Coucheron <arco68@gmail.com>2018-01-26 00:51:45 +0100
commit529b1ae0a64bfb02608f3d0ced4cec3dbe1489ff (patch)
treec3753893668e70ec78fcb8f359ab24846093d9c9 /src/com/android/camera/ui
parent29d6b02dfaf6736f2245d08ca1b5f8834036478e (diff)
downloadandroid_packages_apps_Snap-529b1ae0a64bfb02608f3d0ced4cec3dbe1489ff.tar.gz
android_packages_apps_Snap-529b1ae0a64bfb02608f3d0ced4cec3dbe1489ff.tar.bz2
android_packages_apps_Snap-529b1ae0a64bfb02608f3d0ced4cec3dbe1489ff.zip
Camera: Change volume hard key button to zoom function
Able to capture image through volume hard key button in camera application, change the function to zoom function. Change-Id: Iab9fc2492b2e2ff89cd58c21bac2f147f47b77e2
Diffstat (limited to 'src/com/android/camera/ui')
-rw-r--r--src/com/android/camera/ui/ZoomRenderer.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java
index 11bff7a8d..86be656fd 100644
--- a/src/com/android/camera/ui/ZoomRenderer.java
+++ b/src/com/android/camera/ui/ZoomRenderer.java
@@ -52,6 +52,7 @@ public class ZoomRenderer extends OverlayRenderer
private boolean mCamera2 = false;
private float mZoomMinValue;
private float mZoomMaxValue;
+ private Canvas mCanvas;
public interface OnZoomChangedListener {
void onZoomStart();
@@ -128,6 +129,7 @@ public class ZoomRenderer extends OverlayRenderer
@Override
public void onDraw(Canvas canvas) {
+ mCanvas = canvas;
canvas.rotate(mOrientation, mCenterX, mCenterY);
mPaint.setStrokeWidth(mInnerStroke);
canvas.drawCircle(mCenterX, mCenterY, mMinCircle, mPaint);
@@ -143,6 +145,12 @@ public class ZoomRenderer extends OverlayRenderer
mTextPaint);
}
+ public void onScaleChangeDraw(Canvas canvas) {
+ if(mCanvas != null){
+ onDraw(mCanvas);
+ }
+ }
+
@Override
public boolean onScale(ScaleGestureDetector detector) {
final float sf = detector.getScaleFactor();
@@ -165,6 +173,33 @@ public class ZoomRenderer extends OverlayRenderer
return true;
}
+ public boolean onScaleStepResize(boolean direction) {
+ int zoom;
+ float circle;
+ float circleStep = (mMaxCircle - mMinCircle)/10;
+ if(direction){
+ circle = (int) (mCircleSize + circleStep);
+ } else {
+ circle = (int) (mCircleSize - circleStep);
+ }
+ circle = Math.max(mMinCircle, circle);
+ circle = Math.min(mMaxCircle, circle);
+ if (mListener != null && (int) circle != mCircleSize
+ && ((mMaxCircle - mMinCircle) != 0)) {
+ mCircleSize = (int) circle;
+ zoom = mMinZoom + (int) ((mCircleSize - mMinCircle)
+ * (mMaxZoom - mMinZoom) / (mMaxCircle - mMinCircle));
+ if (mListener != null) {
+ mListener.onZoomStart();
+ mListener.onZoomValueChanged(zoom);
+ mListener.onZoomEnd();
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
setVisible(true);