summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/PieRenderer.java
diff options
context:
space:
mode:
authorSanthosh Kumar H E <skhara@codeaurora.org>2013-11-14 20:18:57 +0530
committerSanthosh Kumar H E <skhara@codeaurora.org>2013-11-14 20:28:37 +0530
commitea8e0398360d951288fce6f06c3c7a54cafd5917 (patch)
treeee452cff2af105a59ac4316301b7f4bb3b675126 /src/com/android/camera/ui/PieRenderer.java
parent77fc9f7bd9c94ed673d847b71d681c14c3f07177 (diff)
downloadandroid_packages_apps_Snap-ea8e0398360d951288fce6f06c3c7a54cafd5917.tar.gz
android_packages_apps_Snap-ea8e0398360d951288fce6f06c3c7a54cafd5917.tar.bz2
android_packages_apps_Snap-ea8e0398360d951288fce6f06c3c7a54cafd5917.zip
Consider layout width for pie menu arc radius
Pie renderer arc radius was always constant and read from resource dimensions, irrespective of the screen width. Hence when there are more options, some of the options were getting rendered beyond the screen. In this code the value from dimensions is saved to a separate variable. During each layout change maximum value which can be rendered is set as arc radius. Change-Id: I893685d0e57c839ccbb96826c01208fa581fa7cc CRs-Fixed: 568052
Diffstat (limited to 'src/com/android/camera/ui/PieRenderer.java')
-rw-r--r--src/com/android/camera/ui/PieRenderer.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java
index 3967f7946..008bc40ca 100644
--- a/src/com/android/camera/ui/PieRenderer.java
+++ b/src/com/android/camera/ui/PieRenderer.java
@@ -114,7 +114,7 @@ public class PieRenderer extends OverlayRenderer
private int mPieCenterX;
private int mPieCenterY;
private int mSliceRadius;
- private int mArcRadius;
+ private int mArcRadius, mMaxArcRadius;
private int mArcOffset;
private int mDialAngle;
@@ -221,6 +221,7 @@ public class PieRenderer extends OverlayRenderer
mMenuArcPaint.setStyle(Paint.Style.STROKE);
mSliceRadius = res.getDimensionPixelSize(R.dimen.pie_item_radius);
mArcRadius = res.getDimensionPixelSize(R.dimen.pie_arc_radius);
+ mMaxArcRadius = mArcRadius;
mArcOffset = res.getDimensionPixelSize(R.dimen.pie_arc_offset);
mLabel = new TextDrawable(res);
mLabel.setDropShadow(true);
@@ -348,6 +349,12 @@ public class PieRenderer extends OverlayRenderer
mCenterX = (r - l) / 2;
mCenterY = (b - t) / 2;
+ int layoutWidth = r - l;
+ if( (layoutWidth > 0) && ((mMaxArcRadius + mCenterX) > layoutWidth) ){
+ mArcRadius = layoutWidth - mCenterX;
+ } else {
+ mArcRadius = mMaxArcRadius;
+ }
mFocusX = mCenterX;
mFocusY = mCenterY;
resetPieCenter();