Loading res/values/dimens.xml +2 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,8 @@ <dimen name="pie_arc_offset">48dp</dimen> <dimen name="pie_item_radius">370dp</dimen> <dimen name="pie_arc_radius">214dp</dimen> <dimen name="pie_deadzone_width">48dp</dimen> <dimen name="pie_anglezone_width">80dp</dimen> <dimen name="pie_deadzone_width">36dp</dimen> <dimen name="pie_anglezone_width">92dp</dimen> <dimen name="focus_radius_offset">8dp</dimen> <dimen name="focus_inner_offset">24dp</dimen> <dimen name="focus_outer_stroke">3dp</dimen> Loading src/com/android/camera/drawable/TextDrawable.java +23 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Typeface; import android.graphics.Paint.Align; import android.graphics.Rect; import android.graphics.drawable.Drawable; Loading @@ -36,6 +37,7 @@ public class TextDrawable extends Drawable { private CharSequence mText; private int mIntrinsicWidth; private int mIntrinsicHeight; private boolean mUseDropShadow; public TextDrawable(Resources res) { this(res, ""); Loading @@ -43,9 +45,7 @@ public class TextDrawable extends Drawable { public TextDrawable(Resources res, CharSequence text) { mText = text; mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setColor(DEFAULT_COLOR); mPaint.setTextAlign(Align.CENTER); updatePaint(); float textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, DEFAULT_TEXTSIZE, res.getDisplayMetrics()); mPaint.setTextSize(textSize); Loading @@ -53,6 +53,21 @@ public class TextDrawable extends Drawable { mIntrinsicHeight = mPaint.getFontMetricsInt(null); } private void updatePaint() { if (mPaint == null) { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); } mPaint.setColor(DEFAULT_COLOR); mPaint.setTextAlign(Align.CENTER); if (mUseDropShadow) { mPaint.setTypeface(Typeface.DEFAULT_BOLD); mPaint.setShadowLayer(10, 0, 0, 0xff000000); } else { mPaint.setTypeface(Typeface.DEFAULT); mPaint.setShadowLayer(0, 0, 0, 0); } } public void setText(CharSequence txt) { mText = txt; if (txt == null) { Loading @@ -73,6 +88,11 @@ public class TextDrawable extends Drawable { } } public void setDropShadow(boolean shadow) { mUseDropShadow = shadow; updatePaint(); } @Override public int getOpacity() { return mPaint.getAlpha(); Loading src/com/android/camera/ui/PieRenderer.java +6 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class PieRenderer extends OverlayRenderer private static final int MSG_OPENSUBMENU = 2; protected static float CENTER = (float) Math.PI / 2; protected static float RAD20 = (float)(Math.PI /9); // 20 degrees protected static float RAD24 = (float)(24 * Math.PI / 180); protected static final float SWEEP_SLICE = 0.14f; protected static final float SWEEP_ARC = 0.23f; Loading Loading @@ -220,6 +220,7 @@ public class PieRenderer extends OverlayRenderer mArcRadius = res.getDimensionPixelSize(R.dimen.pie_arc_radius); mArcOffset = res.getDimensionPixelSize(R.dimen.pie_arc_offset); mLabel = new TextDrawable(res); mLabel.setDropShadow(true); mDeadZone = res.getDimensionPixelSize(R.dimen.pie_deadzone_width); mAngleZone = res.getDimensionPixelSize(R.dimen.pie_anglezone_width); } Loading Loading @@ -340,7 +341,7 @@ public class PieRenderer extends OverlayRenderer private void resetPieCenter() { mPieCenterX = mCenterX; mPieCenterY = mCenterY + mCenterY / 3; mPieCenterY = (int) (getHeight() - 2.5f * mDeadZone); } private void layoutPie() { Loading Loading @@ -413,10 +414,10 @@ public class PieRenderer extends OverlayRenderer private float getCenterAngle() { float center = CENTER; if (mPieCenterX < mDeadZone + mAngleZone) { center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD20 center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD24 / (float) mAngleZone; } else if (mPieCenterX > getWidth() - mDeadZone - mAngleZone) { center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD20 center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD24 / (float) mAngleZone; } return center; Loading Loading @@ -757,6 +758,7 @@ public class PieRenderer extends OverlayRenderer private void openCurrentItem() { if ((mCurrentItem != null) && mCurrentItem.hasItems()) { mOpen.add(mCurrentItem); layoutLabel(getLevel()); mOpening = true; if (mFadeIn != null) { mFadeIn.cancel(); Loading @@ -774,7 +776,6 @@ public class PieRenderer extends OverlayRenderer mXFade = null; ci.setSelected(false); mOpening = false; mLabel.setText(""); } @Override Loading Loading
res/values/dimens.xml +2 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,8 @@ <dimen name="pie_arc_offset">48dp</dimen> <dimen name="pie_item_radius">370dp</dimen> <dimen name="pie_arc_radius">214dp</dimen> <dimen name="pie_deadzone_width">48dp</dimen> <dimen name="pie_anglezone_width">80dp</dimen> <dimen name="pie_deadzone_width">36dp</dimen> <dimen name="pie_anglezone_width">92dp</dimen> <dimen name="focus_radius_offset">8dp</dimen> <dimen name="focus_inner_offset">24dp</dimen> <dimen name="focus_outer_stroke">3dp</dimen> Loading
src/com/android/camera/drawable/TextDrawable.java +23 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Typeface; import android.graphics.Paint.Align; import android.graphics.Rect; import android.graphics.drawable.Drawable; Loading @@ -36,6 +37,7 @@ public class TextDrawable extends Drawable { private CharSequence mText; private int mIntrinsicWidth; private int mIntrinsicHeight; private boolean mUseDropShadow; public TextDrawable(Resources res) { this(res, ""); Loading @@ -43,9 +45,7 @@ public class TextDrawable extends Drawable { public TextDrawable(Resources res, CharSequence text) { mText = text; mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setColor(DEFAULT_COLOR); mPaint.setTextAlign(Align.CENTER); updatePaint(); float textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, DEFAULT_TEXTSIZE, res.getDisplayMetrics()); mPaint.setTextSize(textSize); Loading @@ -53,6 +53,21 @@ public class TextDrawable extends Drawable { mIntrinsicHeight = mPaint.getFontMetricsInt(null); } private void updatePaint() { if (mPaint == null) { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); } mPaint.setColor(DEFAULT_COLOR); mPaint.setTextAlign(Align.CENTER); if (mUseDropShadow) { mPaint.setTypeface(Typeface.DEFAULT_BOLD); mPaint.setShadowLayer(10, 0, 0, 0xff000000); } else { mPaint.setTypeface(Typeface.DEFAULT); mPaint.setShadowLayer(0, 0, 0, 0); } } public void setText(CharSequence txt) { mText = txt; if (txt == null) { Loading @@ -73,6 +88,11 @@ public class TextDrawable extends Drawable { } } public void setDropShadow(boolean shadow) { mUseDropShadow = shadow; updatePaint(); } @Override public int getOpacity() { return mPaint.getAlpha(); Loading
src/com/android/camera/ui/PieRenderer.java +6 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class PieRenderer extends OverlayRenderer private static final int MSG_OPENSUBMENU = 2; protected static float CENTER = (float) Math.PI / 2; protected static float RAD20 = (float)(Math.PI /9); // 20 degrees protected static float RAD24 = (float)(24 * Math.PI / 180); protected static final float SWEEP_SLICE = 0.14f; protected static final float SWEEP_ARC = 0.23f; Loading Loading @@ -220,6 +220,7 @@ public class PieRenderer extends OverlayRenderer mArcRadius = res.getDimensionPixelSize(R.dimen.pie_arc_radius); mArcOffset = res.getDimensionPixelSize(R.dimen.pie_arc_offset); mLabel = new TextDrawable(res); mLabel.setDropShadow(true); mDeadZone = res.getDimensionPixelSize(R.dimen.pie_deadzone_width); mAngleZone = res.getDimensionPixelSize(R.dimen.pie_anglezone_width); } Loading Loading @@ -340,7 +341,7 @@ public class PieRenderer extends OverlayRenderer private void resetPieCenter() { mPieCenterX = mCenterX; mPieCenterY = mCenterY + mCenterY / 3; mPieCenterY = (int) (getHeight() - 2.5f * mDeadZone); } private void layoutPie() { Loading Loading @@ -413,10 +414,10 @@ public class PieRenderer extends OverlayRenderer private float getCenterAngle() { float center = CENTER; if (mPieCenterX < mDeadZone + mAngleZone) { center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD20 center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD24 / (float) mAngleZone; } else if (mPieCenterX > getWidth() - mDeadZone - mAngleZone) { center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD20 center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD24 / (float) mAngleZone; } return center; Loading Loading @@ -757,6 +758,7 @@ public class PieRenderer extends OverlayRenderer private void openCurrentItem() { if ((mCurrentItem != null) && mCurrentItem.hasItems()) { mOpen.add(mCurrentItem); layoutLabel(getLevel()); mOpening = true; if (mFadeIn != null) { mFadeIn.cancel(); Loading @@ -774,7 +776,6 @@ public class PieRenderer extends OverlayRenderer mXFade = null; ci.setSelected(false); mOpening = false; mLabel.setText(""); } @Override Loading