diff options
author | Michael Kolb <kolby@google.com> | 2013-05-21 23:09:18 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-05-21 23:09:19 +0000 |
commit | d63f8090161e9924911840ef6c7c8e2ef16d2866 (patch) | |
tree | 04769ef01cfa27ef8ab1461efe0ceadb3646e8a6 | |
parent | 15074e2673f2165188e71dc3d2470f0093fa71e7 (diff) | |
parent | d2d5410fbcb39c12d362644d1cdc91c6ca18711f (diff) | |
download | android_packages_apps_Snap-d63f8090161e9924911840ef6c7c8e2ef16d2866.tar.gz android_packages_apps_Snap-d63f8090161e9924911840ef6c7c8e2ef16d2866.tar.bz2 android_packages_apps_Snap-d63f8090161e9924911840ef6c7c8e2ef16d2866.zip |
Merge "Fix selection highlight for tablets" into gb-ub-photos-bryce
-rw-r--r-- | src/com/android/gallery3d/filtershow/category/CategoryView.java | 11 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/ui/SelectionRenderer.java | 16 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/category/CategoryView.java b/src/com/android/gallery3d/filtershow/category/CategoryView.java index 84a973b50..059eb103d 100644 --- a/src/com/android/gallery3d/filtershow/category/CategoryView.java +++ b/src/com/android/gallery3d/filtershow/category/CategoryView.java @@ -44,6 +44,8 @@ public class CategoryView extends View implements View.OnClickListener { private Paint mSelectPaint; CategoryAdapter mAdapter; private int mSelectionStroke; + private Paint mBorderPaint; + private int mBorderStroke; public static void setTextSize(int size) { sTextSize = size; @@ -63,6 +65,9 @@ public class CategoryView extends View implements View.OnClickListener { mSelectPaint = new Paint(); mSelectPaint.setStyle(Paint.Style.FILL); mSelectPaint.setColor(res.getColor(R.color.filtershow_category_selection)); + mBorderPaint = new Paint(mSelectPaint); + mBorderPaint.setColor(Color.BLACK); + mBorderStroke = mSelectionStroke / 3; } public void drawText(Canvas canvas, String text) { @@ -91,8 +96,10 @@ public class CategoryView extends View implements View.OnClickListener { Bitmap bitmap = mAction.getImage(); canvas.drawBitmap(bitmap, 0, 0, mPaint); if (mAdapter.isSelected(this)) { - SelectionRenderer.drawSelection(canvas, 0, 0, bitmap.getWidth(), - bitmap.getHeight(), mSelectionStroke, mSelectPaint); + SelectionRenderer.drawSelection(canvas, 0, 0, + Math.min(bitmap.getWidth(), getWidth()), + Math.min(bitmap.getHeight(), getHeight()), + mSelectionStroke, mSelectPaint, mBorderStroke, mBorderPaint); } } mPaint.setColor(mBackgroundColor); diff --git a/src/com/android/gallery3d/filtershow/ui/SelectionRenderer.java b/src/com/android/gallery3d/filtershow/ui/SelectionRenderer.java index 1b108bd5d..ef40c5e44 100644 --- a/src/com/android/gallery3d/filtershow/ui/SelectionRenderer.java +++ b/src/com/android/gallery3d/filtershow/ui/SelectionRenderer.java @@ -29,4 +29,20 @@ public class SelectionRenderer { canvas.drawRect(right - stroke, top, right, bottom, paint); } + public static void drawSelection(Canvas canvas, int left, int top, int right, int bottom, + int stroke, Paint selectPaint, int border, Paint borderPaint) { + canvas.drawRect(left, top, right, top + stroke, selectPaint); + canvas.drawRect(left, bottom - stroke, right, bottom, selectPaint); + canvas.drawRect(left, top, left + stroke, bottom, selectPaint); + canvas.drawRect(right - stroke, top, right, bottom, selectPaint); + canvas.drawRect(left + stroke, top + stroke, right - stroke, + top + stroke + border, borderPaint); + canvas.drawRect(left + stroke, bottom - stroke - border, right - stroke, + bottom - stroke, borderPaint); + canvas.drawRect(left + stroke, top + stroke, left + stroke + border, + bottom - stroke, borderPaint); + canvas.drawRect(right - stroke - border, top + stroke, right - stroke, + bottom - stroke, borderPaint); + } + } |