summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/ui/FilterIconButton.java')
-rw-r--r--src/com/android/gallery3d/filtershow/ui/FilterIconButton.java28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java b/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
index 8dc5153ea..b78ab0373 100644
--- a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
+++ b/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
@@ -25,7 +25,9 @@ import android.view.View;
import android.widget.LinearLayout;
import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.cache.FilteringPipeline;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
+import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilter;
public class FilterIconButton extends IconButton implements View.OnClickListener {
@@ -48,26 +50,36 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
super(context, attrs, defStyle);
}
- public void setup(String text, ImageFilter filter, FilterShowActivity controller,
- LinearLayout parent) {
- mImageFilter = filter;
+ public void setup(String text, FilterShowActivity controller, LinearLayout parent) {
mController = controller;
setText(text);
+ mParentContainer = parent;
+ super.setOnClickListener(this);
+ invalidate();
+ }
+ public void setup(String text, ImageFilter filter, FilterShowActivity controller,
+ LinearLayout parent) {
+ setup(text, controller, parent);
+ mImageFilter = filter;
if (mImageFilter.getOverlayBitmaps() != 0) {
mOverlayBitmap = BitmapFactory.decodeResource(getResources(),
mImageFilter.getOverlayBitmaps());
}
-
- mParentContainer = parent;
- super.setOnClickListener(this);
- invalidate();
}
@Override
protected Bitmap drawImage(Bitmap dst, Bitmap image, Rect destination) {
dst = super.drawImage(dst, image, destination);
- dst = mImageFilter.iconApply(dst, 1.0f, false);
+ if (mImageFilter == null && mFilterRepresentation != null) {
+ mImageFilter = FiltersManager.getManager().getFilterForRepresentation(mFilterRepresentation);
+ }
+ if (mFilterRepresentation != null && mImageFilter != null) {
+ mImageFilter.useRepresentation(mFilterRepresentation);
+ }
+ if (mImageFilter != null) {
+ dst = mImageFilter.iconApply(dst, 1.0f, false);
+ }
if (mOverlayBitmap != null) {
dst = super.drawImage(dst, mOverlayBitmap, destination);
}