summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java84
1 files changed, 14 insertions, 70 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
index 681eb1221..316a286e8 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
@@ -26,85 +26,29 @@ import android.graphics.RectF;
import com.android.gallery3d.R;
public class ImageFilterParametricBorder extends ImageFilter {
- private int mBorderColor = Color.WHITE;
- private int mBorderSize = 10;
- private int mBorderCornerRadius = 10;
+ private FilterColorBorderRepresentation mParameters = null;
public ImageFilterParametricBorder() {
- setFilterType(TYPE_BORDER);
mName = "Border";
}
- @Override
- public int getTextId() {
- return R.string.borders;
- }
-
- @Override
- public boolean showParameterValue() {
- return false;
- }
-
- @Override
- public boolean showEditingControls() {
- return false;
+ public void useRepresentation(FilterRepresentation representation) {
+ FilterColorBorderRepresentation parameters = (FilterColorBorderRepresentation) representation;
+ mParameters = parameters;
}
- @Override
- public boolean showUtilityPanel() {
- return false;
- }
-
- public ImageFilterParametricBorder(int color, int size, int radius) {
- setBorder(color, size, radius);
- setFilterType(TYPE_BORDER);
- }
-
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterParametricBorder filter = (ImageFilterParametricBorder) super.clone();
- filter.setBorder(mBorderColor, mBorderSize, mBorderCornerRadius);
- return filter;
- }
-
- @Override
- public boolean isNil() {
- return false;
- }
-
- @Override
- public boolean same(ImageFilter filter) {
- boolean isBorderFilter = super.same(filter);
- if (!isBorderFilter) {
- return false;
- }
- if (!(filter instanceof ImageFilterParametricBorder)) {
- return false;
- }
- ImageFilterParametricBorder borderFilter = (ImageFilterParametricBorder) filter;
- if (borderFilter.mBorderColor != mBorderColor) {
- return false;
- }
- if (borderFilter.mBorderSize != mBorderSize) {
- return false;
- }
- if (borderFilter.mBorderCornerRadius != mBorderCornerRadius) {
- return false;
- }
- return true;
- }
-
- public void setBorder(int color, int size, int radius) {
- mBorderColor = color;
- mBorderSize = size;
- mBorderCornerRadius = radius;
+ public FilterColorBorderRepresentation getParameters() {
+ return mParameters;
}
private void applyHelper(Canvas canvas, int w, int h) {
+ if (getParameters() == null) {
+ return;
+ }
Path border = new Path();
border.moveTo(0, 0);
- float bs = mBorderSize / 100.0f * w;
- float r = mBorderCornerRadius / 100.0f * w;
+ float bs = getParameters().getBorderSize() / 100.0f * w;
+ float r = getParameters().getBorderRadius() / 100.0f * w;
border.lineTo(0, h);
border.lineTo(w, h);
border.lineTo(w, 0);
@@ -114,19 +58,19 @@ public class ImageFilterParametricBorder extends ImageFilter {
Paint paint = new Paint();
paint.setAntiAlias(true);
- paint.setColor(mBorderColor);
+ paint.setColor(getParameters().getColor());
canvas.drawPath(border, paint);
}
@Override
- public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
+ public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) {
Canvas canvas = new Canvas(bitmap);
applyHelper(canvas, bitmap.getWidth(), bitmap.getHeight());
return bitmap;
}
@Override
- public Bitmap iconApply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
+ public Bitmap iconApply(Bitmap bitmap, float scaleFactor, int quality) {
Canvas canvas = new Canvas(bitmap);
applyHelper(canvas, bitmap.getWidth() * 4, bitmap.getHeight() * 4);
return bitmap;