summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow/MasterImage.java')
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/MasterImage.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
index 4ca74300c..8a505fd4e 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
@@ -17,6 +17,8 @@
package com.android.gallery3d.filtershow.imageshow;
import android.graphics.*;
+import android.os.Handler;
+import android.os.Message;
import android.util.Log;
import com.android.gallery3d.filtershow.FilterShowActivity;
@@ -64,6 +66,20 @@ public class MasterImage implements RenderingRequestCaller {
private Point mImageShowSize = new Point();
+ final private static int NEW_GEOMETRY = 1;
+
+ private final Handler mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case NEW_GEOMETRY: {
+ hasNewGeometry();
+ break;
+ }
+ }
+ }
+ };
+
private MasterImage() {
}
@@ -183,6 +199,16 @@ public class MasterImage implements RenderingRequestCaller {
return mFilteredPreview;
}
+ public void setOriginalGeometry(Bitmap originalBitmapLarge) {
+ GeometryMetadata geo = getPreset().mGeoData;
+ float w = originalBitmapLarge.getWidth();
+ float h = originalBitmapLarge.getHeight();
+ RectF r = new RectF(0, 0, w, h);
+ geo.setPhotoBounds(r);
+ geo.setCropBounds(r);
+ getPreset().setGeometry(geo);
+ }
+
public Bitmap getFilteredImage() {
return mFilteredPreview.getConsumer();
}
@@ -333,6 +359,10 @@ public class MasterImage implements RenderingRequestCaller {
}
public void notifyGeometryChange() {
+ mHandler.sendEmptyMessage(NEW_GEOMETRY);
+ }
+
+ public void hasNewGeometry() {
updatePresets(true);
for (GeometryListener listener : mGeometryListeners) {
listener.geometryChanged();