summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/PieRenderer.java
diff options
context:
space:
mode:
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 f1a5a9a4b..0039aa22c 100644
--- a/src/com/android/camera/ui/PieRenderer.java
+++ b/src/com/android/camera/ui/PieRenderer.java
@@ -118,7 +118,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;
@@ -225,6 +225,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);
@@ -357,6 +358,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();