diff options
author | Santhosh Kumar H E <skhara@codeaurora.org> | 2015-09-07 15:08:50 +0530 |
---|---|---|
committer | Daniel Hillenbrand <codeworkx@cyanogenmod.org> | 2016-01-08 22:49:47 -0800 |
commit | 090c538862c6c4204ebf7789bf0d6146893dc6d9 (patch) | |
tree | d357bc0fc13ff4fdebd6150ecbb242c094f07bf3 /src/com/android | |
parent | 621b6282d78a4d6c9ac504642ddb59412a06054c (diff) | |
download | android_packages_apps_Snap-090c538862c6c4204ebf7789bf0d6146893dc6d9.tar.gz android_packages_apps_Snap-090c538862c6c4204ebf7789bf0d6146893dc6d9.tar.bz2 android_packages_apps_Snap-090c538862c6c4204ebf7789bf0d6146893dc6d9.zip |
Consider fractional value in zoom circle calculation.
Fractional value was lost while rounding off zoom circle
size to integer value. Due to this user was not able to
zoom upto max zoom level.
Change-Id: I99888075f4a484320939f813164bbca9c94dc11a
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/camera/ui/ZoomRenderer.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java index bddd5cc6a..f8a4b508e 100644 --- a/src/com/android/camera/ui/ZoomRenderer.java +++ b/src/com/android/camera/ui/ZoomRenderer.java @@ -41,7 +41,7 @@ public class ZoomRenderer extends OverlayRenderer private ScaleGestureDetector mDetector; private Paint mPaint; private Paint mTextPaint; - private int mCircleSize; + private float mCircleSize; private int mCenterX; private int mCenterY; private float mMaxCircle; @@ -86,7 +86,7 @@ public class ZoomRenderer extends OverlayRenderer } public void setZoom(int index) { - mCircleSize = (int) (mMinCircle + index * (mMaxCircle - mMinCircle) / (mMaxZoom - mMinZoom)); + mCircleSize = mMinCircle + index * (mMaxCircle - mMinCircle) / (mMaxZoom - mMinZoom); } public void setZoomValue(int value) { @@ -122,7 +122,7 @@ public class ZoomRenderer extends OverlayRenderer mCenterX - mMaxCircle - 4, mCenterY, mPaint); mPaint.setStrokeWidth(mOuterStroke); canvas.drawCircle((float) mCenterX, (float) mCenterY, - (float) mCircleSize, mPaint); + mCircleSize, mPaint); String txt = mZoomSig+"."+mZoomFraction+"x"; mTextPaint.getTextBounds(txt, 0, txt.length(), mTextBounds); canvas.drawText(txt, mCenterX - mTextBounds.centerX(), mCenterY - mTextBounds.centerY(), @@ -132,11 +132,11 @@ public class ZoomRenderer extends OverlayRenderer @Override public boolean onScale(ScaleGestureDetector detector) { final float sf = detector.getScaleFactor(); - float circle = (int) (mCircleSize * sf * sf); + float circle = mCircleSize * sf * sf; circle = Math.max(mMinCircle, circle); circle = Math.min(mMaxCircle, circle); - if (mListener != null && (int) circle != mCircleSize) { - mCircleSize = (int) circle; + if (mListener != null && circle != mCircleSize) { + mCircleSize = circle; int zoom = mMinZoom + (int) ((mCircleSize - mMinCircle) * (mMaxZoom - mMinZoom) / (mMaxCircle - mMinCircle)); mListener.onZoomValueChanged(zoom); } |