summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
index 7d8152b6f..646a6b458 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterBorder.java
@@ -27,6 +27,7 @@ public class ImageFilterBorder extends ImageFilter {
private static final float NINEPATCH_ICON_SCALING = 10;
private static final float BITMAP_ICON_SCALING = 1 / 3.0f;
Drawable mNinePatch = null;
+ private FilterImageBorderRepresentation mParameters = null;
@Override
public ImageFilter clone() throws CloneNotSupportedException {
@@ -35,12 +36,25 @@ public class ImageFilterBorder extends ImageFilter {
return filter;
}
+ public ImageFilterBorder() {
+
+ }
+
public ImageFilterBorder(Drawable ninePatch) {
setFilterType(TYPE_BORDER);
mName = "Border";
mNinePatch = ninePatch;
}
+ public void useRepresentation(FilterRepresentation representation) {
+ FilterImageBorderRepresentation parameters = (FilterImageBorderRepresentation) representation;
+ mParameters = parameters;
+ }
+
+ public FilterImageBorderRepresentation getParameters() {
+ return mParameters;
+ }
+
public boolean isNil() {
if (mNinePatch == null) {
return true;
@@ -95,14 +109,14 @@ public class ImageFilterBorder extends ImageFilter {
Rect bounds = new Rect(0, 0, (int) (w * scale1), (int) (h * scale1));
Canvas canvas = new Canvas(bitmap);
canvas.scale(scale2, scale2);
- mNinePatch.setBounds(bounds);
- mNinePatch.draw(canvas);
+ getParameters().getDrawable().setBounds(bounds);
+ getParameters().getDrawable().draw(canvas);
return bitmap;
}
@Override
public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
- if (mNinePatch == null) {
+ if (getParameters() == null || getParameters().getDrawable() == null) {
return bitmap;
}
float scale2 = scaleFactor * 2.0f;
@@ -112,7 +126,7 @@ public class ImageFilterBorder extends ImageFilter {
@Override
public Bitmap iconApply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
- if (mNinePatch == null) {
+ if (getParameters() == null || getParameters().getDrawable() == null) {
return bitmap;
}
float scale1 = NINEPATCH_ICON_SCALING;