summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/ui
diff options
context:
space:
mode:
authorJohn Hoford <hoford@google.com>2013-02-27 08:41:19 -0800
committerJohn Hoford <hoford@google.com>2013-02-27 17:32:01 -0800
commit63cc04c3b51d544598c8af5c8c16a29b1e902a26 (patch)
tree36a75fe6a9765e0c332f840a50d761511ce7b5c2 /src/com/android/gallery3d/filtershow/ui
parent7c3ff29f5d187a9f8c660f8571a43f5a91b46836 (diff)
downloadandroid_packages_apps_Snap-63cc04c3b51d544598c8af5c8c16a29b1e902a26.tar.gz
android_packages_apps_Snap-63cc04c3b51d544598c8af5c8c16a29b1e902a26.tar.bz2
android_packages_apps_Snap-63cc04c3b51d544598c8af5c8c16a29b1e902a26.zip
refactor the geometry code
Change-Id: I5b0381ec5e127aabf37924af64fbeb490755bc9a
Diffstat (limited to 'src/com/android/gallery3d/filtershow/ui')
-rw-r--r--src/com/android/gallery3d/filtershow/ui/FilterIconButton.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java b/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
index de2e1e5dc..746ad12eb 100644
--- a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
+++ b/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java
@@ -21,6 +21,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Rect;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
@@ -30,6 +31,7 @@ import com.android.gallery3d.filtershow.cache.RenderingRequest;
import com.android.gallery3d.filtershow.cache.RenderingRequestCaller;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.imageshow.GeometryListener;
+import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
import com.android.gallery3d.filtershow.presets.ImagePreset;
@@ -37,6 +39,7 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
RenderingRequestCaller, GeometryListener {
private static final String LOGTAG = "FilterIconButton";
private Bitmap mOverlayBitmap = null;
+ private boolean mOverlayOnly = false;
private PanelController mController = null;
private FilterRepresentation mFilterRepresentation = null;
private LinearLayout mParentContainer = null;
@@ -68,6 +71,10 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
@Override
protected Bitmap drawImage(Bitmap dst, Bitmap image, Rect destination) {
+ if (mOverlayOnly) {
+ // TODO: merge back IconButton and FilterIconButton
+ return super.drawImage(dst, image, destination);
+ }
if (mIconBitmap == null && mPreset == null) {
ImageLoader loader = MasterImage.getImage().getLoader();
if (loader != null) {
@@ -76,6 +83,7 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
dst = super.drawImage(dst, image, destination);
ImagePreset mPreset = new ImagePreset();
mPreset.addFilter(mFilterRepresentation);
+ mPreset.setDoApplyGeometry(false);
mDestination = destination;
RenderingRequest.post(dst.copy(Bitmap.Config.ARGB_8888, true), mPreset, RenderingRequest.ICON_RENDERING, this);
}
@@ -112,6 +120,10 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
mOverlayBitmap = BitmapFactory.decodeResource(getResources(),
mFilterRepresentation.getOverlayId());
}
+ mOverlayOnly = mFilterRepresentation.getOverlayOnly();
+ if (mOverlayOnly) {
+ setIcon(mOverlayBitmap);
+ }
invalidate();
}
@@ -131,6 +143,7 @@ public class FilterIconButton extends IconButton implements View.OnClickListener
@Override
public void geometryChanged() {
stale_icon = true;
+
mIconBitmap = null;
mPreset = null;
invalidate();