diff options
Diffstat (limited to 'src/com/android/camera/ui/PieRenderer.java')
-rw-r--r-- | src/com/android/camera/ui/PieRenderer.java | 9 |
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(); |