summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/ZoomRenderer.java
diff options
context:
space:
mode:
authorSanthosh Kumar H E <skhara@codeaurora.org>2015-09-07 15:08:50 +0530
committerSanjeev Garg <sangarg@codeaurora.org>2015-09-16 17:29:43 +0530
commit154c7bcbe2fe28cdae9db142887352ee15b2caa1 (patch)
tree35fa9a9181e35db4d113bb122f5a32f06697efbc /src/com/android/camera/ui/ZoomRenderer.java
parent465c11e451e18b7f3e8109fdbbc56b866f7f8a56 (diff)
downloadandroid_packages_apps_Snap-154c7bcbe2fe28cdae9db142887352ee15b2caa1.tar.gz
android_packages_apps_Snap-154c7bcbe2fe28cdae9db142887352ee15b2caa1.tar.bz2
android_packages_apps_Snap-154c7bcbe2fe28cdae9db142887352ee15b2caa1.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/camera/ui/ZoomRenderer.java')
-rw-r--r--src/com/android/camera/ui/ZoomRenderer.java12
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 1228f79f0..7a2e2e805 100644
--- a/src/com/android/camera/ui/ZoomRenderer.java
+++ b/src/com/android/camera/ui/ZoomRenderer.java
@@ -38,7 +38,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;
@@ -82,7 +82,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) {
@@ -118,7 +118,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(),
@@ -128,11 +128,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);
update();