diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java | 84 |
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; |