diff options
author | Michael Kolb <kolby@google.com> | 2012-09-30 14:16:34 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-30 14:16:35 -0700 |
commit | c367b15e24f2f992f3eb2be746038021ce89365d (patch) | |
tree | fab7991175817bafb1e987135451596c4d640531 /src | |
parent | ba2d830138e01473a4883b2f3a12f8cd443e3fb7 (diff) | |
parent | 0f1cc66c395becb393ccd99d92475329bc6bdef5 (diff) | |
download | Camera-c367b15e24f2f992f3eb2be746038021ce89365d.tar.gz |
Merge "Fix zoom renderer ui" into gb-ub-photos-arches
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/PreviewGestures.java | 17 | ||||
-rw-r--r-- | src/com/android/camera/ui/ZoomRenderer.java | 11 |
2 files changed, 24 insertions, 4 deletions
diff --git a/src/com/android/camera/PreviewGestures.java b/src/com/android/camera/PreviewGestures.java index 23d5bfd9..1fde82f7 100644 --- a/src/com/android/camera/PreviewGestures.java +++ b/src/com/android/camera/PreviewGestures.java @@ -137,7 +137,7 @@ public class PreviewGestures return false; } else if (mMode == MODE_PIE) { return sendToPie(m); - } else if (mMode == MODE_ZOOM) { + } else if (mMode == MODE_ZOOM && mScale.isInProgress()) { return mScale.onTouchEvent(m); } else if (mMode == MODE_MODULE) { return mActivity.superDispatchTouchEvent(m); @@ -151,6 +151,13 @@ public class PreviewGestures if (!mZoomOnly) { cancelPie(); } + if (mZoom != null) { + onScaleBegin(mScale); + } + } else if ((mMode == MODE_ZOOM) && !mScale.isInProgress() + && MotionEvent.ACTION_POINTER_UP == m.getActionMasked()) { + // user initiated and stopped zoom gesture without zooming + onScaleEnd(mScale); } // not zoom or pie mode and no timeout yet if (mZoom != null) { @@ -256,8 +263,12 @@ public class PreviewGestures @Override public boolean onScaleBegin(ScaleGestureDetector detector) { - mMode = MODE_ZOOM; - return mZoom.onScaleBegin(detector); + if (mMode != MODE_ZOOM) { + mMode = MODE_ZOOM; + return mZoom.onScaleBegin(detector); + } else { + return true; + } } @Override diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java index b25f912e..617f1321 100644 --- a/src/com/android/camera/ui/ZoomRenderer.java +++ b/src/com/android/camera/ui/ZoomRenderer.java @@ -44,6 +44,8 @@ public class ZoomRenderer extends OverlayRenderer private float mScale = 1f; private float mMinScale = 1f; private float mMaxScale = 3f; + private int mInnerStroke; + private int mOuterStroke; public interface OnZoomChangedListener { void onZoomStart(); @@ -57,7 +59,8 @@ public class ZoomRenderer extends OverlayRenderer mPaint.setAntiAlias(true); mPaint.setColor(Color.WHITE); mPaint.setStyle(Paint.Style.STROKE); - mPaint.setStrokeWidth(res.getDimensionPixelSize(R.dimen.focus_outer_stroke)); + mInnerStroke = res.getDimensionPixelSize(R.dimen.focus_inner_stroke); + mOuterStroke = res.getDimensionPixelSize(R.dimen.focus_outer_stroke); mDetector = new ScaleGestureDetector(ctx, this); mMinCircle = res.getDimensionPixelSize(R.dimen.zoom_ring_min); setVisible(false); @@ -93,6 +96,12 @@ public class ZoomRenderer extends OverlayRenderer @Override public void onDraw(Canvas canvas) { + mPaint.setStrokeWidth(mInnerStroke); + canvas.drawCircle(mCenterX, mCenterY, mMinCircle, mPaint); + canvas.drawCircle(mCenterX, mCenterY, mMaxCircle, mPaint); + canvas.drawLine(mCenterX - mMinCircle, mCenterY, + mCenterX - mMaxCircle - 4, mCenterY, mPaint); + mPaint.setStrokeWidth(mOuterStroke); canvas.drawCircle((float) mCenterX, (float) mCenterY, (float) mCircleSize, mPaint); } |