*/
public class FilterCurvesRepresentation extends FilterRepresentation {
private Spline[] mSplines = new Spline[4];
+
public FilterCurvesRepresentation() {
super("Curves");
for (int i = 0; i < mSplines.length; i++) {
}
}
+ public boolean isNil() {
+ for (int i = 0; i < 4; i++) {
+ if (getSpline(i) != null && !getSpline(i).isOriginal()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
public void reset() {
Spline spline = new Spline();
}
@Override
+ public boolean isNil() {
+ return getDrawing().isEmpty();
+ }
+
+ @Override
public void useParametersFrom(FilterRepresentation a) {
if (a instanceof FilterDrawRepresentation) {
FilterDrawRepresentation representation = (FilterDrawRepresentation) a;
}
}
}
+
@Override
public boolean equals(FilterRepresentation representation) {
if (!super.equals(representation)) {
return false;
}
if (representation instanceof FilterDrawRepresentation) {
- FilterDrawRepresentation grunge = (FilterDrawRepresentation) representation;
- return true;
+ // FIXME!
+ return true;
}
return false;
}
}
public boolean allowsMultipleInstances() {
- return false;
+ return true;
}
public Bitmap getFxBitmap() {
private boolean mShowParameterValue;
private Class mFilterClass;
- public static String DEFAULT = "Default";
-
public FilterRepresentation(String name) {
mName = name;
}
return mImagePreset;
}
- public boolean equals(ImageFilter filter) {
- if (!same(filter)) {
- return false;
- }
- return true;
- }
-
- public boolean same(ImageFilter filter) {
- if (filter == null) {
- return false;
- }
- if (!filter.getName().equalsIgnoreCase(getName())) {
- return false;
- }
- return true;
- }
-
public void useRepresentation(FilterRepresentation representation) {
}
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 {
- ImageFilterBorder filter = (ImageFilterBorder) super.clone();
- filter.setDrawable(mNinePatch);
- return filter;
- }
-
public ImageFilterBorder() {
-
- }
-
- public ImageFilterBorder(Drawable ninePatch) {
- setFilterType(TYPE_BORDER);
mName = "Border";
- mNinePatch = ninePatch;
}
public void useRepresentation(FilterRepresentation representation) {
return mParameters;
}
- public boolean isNil() {
- if (mNinePatch == null) {
- return true;
- }
- return false;
- }
-
@Override
public int getTextId() {
return R.string.borders;
return false;
}
- @Override
- public boolean same(ImageFilter filter) {
- boolean isBorderFilter = super.same(filter);
- if (!isBorderFilter) {
- return false;
- }
- if (!(filter instanceof ImageFilterBorder)) {
- return false;
- }
- ImageFilterBorder borderFilter = (ImageFilterBorder) filter;
- if (mNinePatch != borderFilter.mNinePatch) {
- return false;
- }
- return true;
- }
-
- public void setDrawable(Drawable ninePatch) {
- // TODO: for now we only use nine patch
- mNinePatch = ninePatch;
- }
-
public Bitmap applyHelper(Bitmap bitmap, float scale1, float scale2 ) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
return R.string.bwfilter;
}
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterBwFilter filter = (ImageFilterBwFilter) super.clone();
- return filter;
- }
-
native protected void nativeApplyFilter(Bitmap bitmap, int w, int h, int r, int g, int b);
@Override
return false;
}
- @Override
- public boolean equals(ImageFilter filter) {
- return same(filter);
- }
-
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterCurves filter = (ImageFilterCurves) super.clone();
- filter.mParameters = (FilterCurvesRepresentation) mParameters.clone();
-
- return filter;
- }
-
- public boolean isNil() {
- for (int i = 0; i < 4; i++) {
- if (mParameters.getSpline(i) != null && !mParameters.getSpline(i).isOriginal()) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public boolean same(ImageFilter filter) {
- boolean isCurveFilter = super.same(filter);
- if (!isCurveFilter) {
- return false;
- }
- ImageFilterCurves curve = (ImageFilterCurves) filter;
- for (int i = 0; i < 4; i++) {
- if (mParameters.getSpline(i) != curve.mParameters.getSpline(i)) {
- return false;
- }
- }
- return true;
- }
-
public void populateArray(int[] array, int curveIndex) {
Spline spline = mParameters.getSpline(curveIndex);
if (spline == null) {
return EditorDraw.ID;
}
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterDraw filter = (ImageFilterDraw) super.clone();
-
- filter.mDrawingsTypes = mDrawingsTypes.clone();
- return filter;
- }
-
public boolean isNil() {
return mParameters.getDrawing().isEmpty();
}
- @Override
- public boolean same(ImageFilter filter) {
- boolean isSuperSame = super.same(filter);
- if (!isSuperSame || !(filter instanceof ImageFilterDraw)) {
- return false;
- }
-
- ImageFilterDraw dfilter = (ImageFilterDraw) filter;
- return mParameters.getDrawing().equals(dfilter.mParameters.getDrawing());
- }
-
public void draw(Canvas canvas, Matrix originalRotateToScreen) {
for (FilterDrawRepresentation.StrokeData strokeData : mParameters.getDrawing()) {
paint(strokeData, canvas, originalRotateToScreen, false);
return mNameResource;
}
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterFx filter = (ImageFilterFx) super.clone();
- filter.fxBitmap = this.fxBitmap;
- return filter;
- }
-
public boolean isNil() {
if (fxBitmap != null) {
return false;
@Override
public ImageFilter clone() throws CloneNotSupportedException {
+ // FIXME: clone() should not be needed. Remove when we fix geometry.
ImageFilterGeometry filter = (ImageFilterGeometry) super.clone();
return filter;
}
@Override
public ImageFilter clone() throws CloneNotSupportedException {
+ // FIXME: clone() should not be needed. Remove?.
ImageFilterGradient filter = (ImageFilterGradient) super.clone();
System.arraycopy(mColors, 0, filter.mColors, 0, mColors.length);
System.arraycopy(mPositions, 0, filter.mPositions, 0, mPositions.length);
return BasicEditor.ID;
}
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterHue filter = (ImageFilterHue) super.clone();
- filter.cmatrix = new ColorSpaceMatrix(cmatrix);
- return filter;
- }
-
native protected void nativeApplyFilter(Bitmap bitmap, int w, int h, float []matrix);
@Override
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() {
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;
- }
-
- 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;
- }
-
private void applyHelper(Canvas canvas, int w, int h) {
if (getParameters() == null) {
return;
@Override
public ImageFilter clone() throws CloneNotSupportedException {
+ // FIXME: clone() should not be needed. Remove when we fix red eyes.
ImageFilterRedEye filter = (ImageFilterRedEye) super.clone();
if (mCandidates != null) {
int size = mCandidates.size();
return true;
}
- @Override
- public boolean same(ImageFilter filter) {
- boolean isRedEyeFilter = super.same(filter);
- if (!isRedEyeFilter) {
- return false;
- }
- ImageFilterRedEye redEyeFilter = (ImageFilterRedEye) filter;
- if (redEyeFilter.mCandidates == null && mCandidates == null) {
- return true;
- }
- if (redEyeFilter.mCandidates == null || mCandidates == null) {
- return false;
- }
- if (redEyeFilter.mCandidates.size() != mCandidates.size()) {
- return false;
- }
- int size = mCandidates.size();
- for (int i = 0; i < size; i++) {
- RedEyeCandidate c1 = mCandidates.elementAt(i);
- RedEyeCandidate c2 = redEyeFilter.mCandidates.elementAt(i);
- if (!c1.equals(c2)) {
- return false;
- }
- }
- return true;
- }
-
public Vector<RedEyeCandidate> getCandidates() {
if (mCandidates == null) {
mCandidates = new Vector<RedEyeCandidate>();
return R.string.shadow_recovery;
}
- @Override
- public ImageFilter clone() throws CloneNotSupportedException {
- ImageFilterShadows filter = (ImageFilterShadows) super.clone();
- return filter;
- }
-
native protected void nativeApplyFilter(Bitmap bitmap, int w, int h, float factor);
@Override
@Override
public ImageFilter clone() throws CloneNotSupportedException {
+ // FIXME: clone() should not be needed. Remove when we fix geometry.
ImageFilterStraighten filter = (ImageFilterStraighten) super.clone();
filter.mRotation = mRotation;
filter.mZoomFactor = mZoomFactor;