summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Hoford <hoford@google.com>2013-02-13 11:40:52 -0800
committerJohn Hoford <hoford@google.com>2013-02-13 13:04:07 -0800
commitda7b84da52579cc967816e11f10acd9d9b3c714b (patch)
tree6e873673476a87bbbb12077becd11ac91d9bda64 /src
parentc81c9a87075e89acb940ff6cb1293b48ac7b1cb0 (diff)
downloadandroid_packages_apps_Snap-da7b84da52579cc967816e11f10acd9d9b3c714b.tar.gz
android_packages_apps_Snap-da7b84da52579cc967816e11f10acd9d9b3c714b.tar.bz2
android_packages_apps_Snap-da7b84da52579cc967816e11f10acd9d9b3c714b.zip
fix draw to support rotation/crop
Change-Id: Iea1db9e42f1fa2b86a452bf1d40b1663b69d03e2
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/cache/RenderingRequest.java5
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java12
-rw-r--r--src/com/android/gallery3d/filtershow/presets/ImagePreset.java1
3 files changed, 11 insertions, 7 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
index 2815936f8..1e9f6b83a 100644
--- a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
+++ b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
@@ -18,6 +18,7 @@ package com.android.gallery3d.filtershow.cache;
import android.graphics.Bitmap;
import com.android.gallery3d.app.Log;
+import com.android.gallery3d.filtershow.imageshow.MasterImage;
import com.android.gallery3d.filtershow.presets.ImagePreset;
public class RenderingRequest {
@@ -47,7 +48,9 @@ public class RenderingRequest {
bitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(), mConfig);
}
request.setBitmap(bitmap);
- request.setImagePreset(new ImagePreset(preset));
+ ImagePreset passedPreset = new ImagePreset(preset);
+ passedPreset.setImageLoader(MasterImage.getImage().getImageLoader());
+ request.setImagePreset(passedPreset);
request.setType(type);
request.setCaller(caller);
request.post();
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
index 9fa4ce97e..4b21d3595 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
@@ -27,6 +27,7 @@ import android.graphics.Path;
import android.graphics.PathMeasure;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
+import android.graphics.Rect;
import android.util.Log;
import com.android.gallery3d.R;
@@ -266,13 +267,12 @@ public class ImageFilterDraw extends ImageFilter {
public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
- short[] rect = new short[4];
-
- Matrix m = new Matrix();
- m.setScale(scaleFactor, scaleFactor);
+ ImagePreset imgPreset = getImagePreset();
+ Rect bounds = imgPreset.getImageLoader().getOriginalBounds();
+ Matrix m = imgPreset.mGeoData.getOriginalToScreen(true,
+ bounds.width(),
+ bounds.height(), w, h);
drawData(new Canvas(bitmap), m, quality);
-
-
return bitmap;
}
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index 3ee55ada5..e3594848c 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -411,6 +411,7 @@ public class ImagePreset {
}
ImageFilter filter = FiltersManager.getManager().getFilterForRepresentation(representation);
filter.useRepresentation(representation);
+ filter.setImagePreset(this);
bitmap = filter.apply(bitmap, mScaleFactor, mQuality);
}
}