diff options
author | Winson Chung <winsonc@google.com> | 2013-10-09 15:50:52 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2013-10-09 17:53:32 -0700 |
commit | 3a6e7f330e680ef718ca7c0921d842efb4d8bbae (patch) | |
tree | 260e400c897a77d6727e5ea5f933864fa2ac1ace /src/com/android/launcher3/CellLayout.java | |
parent | 558f1c2ac73c3a0c3c0c316222b6b7f9c76e2501 (diff) | |
download | android_packages_apps_Trebuchet-3a6e7f330e680ef718ca7c0921d842efb4d8bbae.tar.gz android_packages_apps_Trebuchet-3a6e7f330e680ef718ca7c0921d842efb4d8bbae.tar.bz2 android_packages_apps_Trebuchet-3a6e7f330e680ef718ca7c0921d842efb4d8bbae.zip |
Initial changes for new clings. (Bug 11142616)
Change-Id: Id66ebceb99449941921d9e617dfe0cc05a2e3b65
Diffstat (limited to 'src/com/android/launcher3/CellLayout.java')
-rw-r--r-- | src/com/android/launcher3/CellLayout.java | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index e3312d557..dafb79ffc 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -169,6 +169,8 @@ public class CellLayout extends ViewGroup { private static final int INVALID_DIRECTION = -100; private DropTarget.DragEnforcer mDragEnforcer; + private Rect mTempRect = new Rect(); + private final static PorterDuffXfermode sAddBlendMode = new PorterDuffXfermode(PorterDuff.Mode.ADD); private final static Paint sPaint = new Paint(); @@ -397,25 +399,6 @@ public class CellLayout extends ViewGroup { } } - public void scaleRect(Rect r, float scale) { - if (scale != 1.0f) { - r.left = (int) (r.left * scale + 0.5f); - r.top = (int) (r.top * scale + 0.5f); - r.right = (int) (r.right * scale + 0.5f); - r.bottom = (int) (r.bottom * scale + 0.5f); - } - } - - Rect temp = new Rect(); - void scaleRectAboutCenter(Rect in, Rect out, float scale) { - int cx = in.centerX(); - int cy = in.centerY(); - out.set(in); - out.offset(-cx, -cy); - scaleRect(out, scale); - out.offset(cx, cy); - } - @Override protected void onDraw(Canvas canvas) { // When we're large, we are either drawn in a "hover" state (ie when dragging an item to @@ -443,10 +426,11 @@ public class CellLayout extends ViewGroup { final float alpha = mDragOutlineAlphas[i]; if (alpha > 0) { final Rect r = mDragOutlines[i]; - scaleRectAboutCenter(r, temp, getChildrenScale()); + mTempRect.set(r); + Utilities.scaleRectAboutCenter(mTempRect, getChildrenScale()); final Bitmap b = (Bitmap) mDragOutlineAnims[i].getTag(); paint.setAlpha((int)(alpha + .5f)); - canvas.drawBitmap(b, null, temp, paint); + canvas.drawBitmap(b, null, mTempRect, paint); } } @@ -456,9 +440,13 @@ public class CellLayout extends ViewGroup { final int padding = mPressedOrFocusedIcon.getPressedOrFocusedBackgroundPadding(); final Bitmap b = mPressedOrFocusedIcon.getPressedOrFocusedBackground(); if (b != null) { + int offset = getMeasuredWidth() - getPaddingLeft() - getPaddingRight() - + (mCountX * mCellWidth); + int left = getPaddingLeft() + (int) Math.ceil(offset / 2f); + int top = getPaddingTop(); canvas.drawBitmap(b, - mPressedOrFocusedIcon.getLeft() + getPaddingLeft() - padding, - mPressedOrFocusedIcon.getTop() + getPaddingTop() - padding, + mPressedOrFocusedIcon.getLeft() + left - padding, + mPressedOrFocusedIcon.getTop() + top - padding, null); } } |