summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSanthosh Kumar H E <skhara@codeaurora.org>2015-09-07 15:08:50 +0530
committerDaniel Hillenbrand <codeworkx@cyanogenmod.org>2016-01-08 22:49:47 -0800
commit090c538862c6c4204ebf7789bf0d6146893dc6d9 (patch)
treed357bc0fc13ff4fdebd6150ecbb242c094f07bf3 /src
parent621b6282d78a4d6c9ac504642ddb59412a06054c (diff)
downloadandroid_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')
-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 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);
}