summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2012-10-12 02:03:18 -0700
committerRuben Brunk <rubenbrunk@google.com>2012-10-12 10:18:08 -0700
commit46163a396828fa000b4a53cf87811e4111e3cb88 (patch)
tree2e4b742624bf07cf5243ee7167ffc02c65d89c4b /src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
parent808dbe19752361ad171b58836df7f195deee8019 (diff)
downloadandroid_packages_apps_Gallery2-46163a396828fa000b4a53cf87811e4111e3cb88.tar.gz
android_packages_apps_Gallery2-46163a396828fa000b4a53cf87811e4111e3cb88.tar.bz2
android_packages_apps_Gallery2-46163a396828fa000b4a53cf87811e4111e3cb88.zip
Moves matrix function to GeometryMetadata. Fixes scaling issues.
Bug:7337191 Change-Id: Icfd50c8a07ef02f2346a8ab7b57303de3866d74d
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
index 08c09fb8e..527800e13 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
@@ -62,22 +62,15 @@ public class ImageFilterGeometry extends ImageFilter {
Bitmap dst, int dstWidth, int dstHeight, float straightenAngle);
public Matrix buildMatrix(Bitmap bitmap, boolean rotated) {
- Matrix drawMatrix = new Matrix();
- float dx = bitmap.getWidth() / 2.0f;
- float dy = bitmap.getHeight() / 2.0f;
-
- Matrix flipper = mGeometry.getFlipMatrix(bitmap.getWidth(), bitmap.getHeight());
- drawMatrix.postConcat(flipper);
- drawMatrix.postTranslate(-dx, -dy);
- drawMatrix.postScale(1.0f / mGeometry.getScaleFactor(), 1.0f / mGeometry.getScaleFactor());
- float angle = (mGeometry.getRotation() + mGeometry.getStraightenRotation());
- drawMatrix.postRotate(angle);
- if (rotated) {
- drawMatrix.postTranslate(dy, dx);
- } else {
- drawMatrix.postTranslate(dx, dy);
+ float dx = bitmap.getWidth()/2;
+ float dy = bitmap.getHeight()/2;
+ if(mGeometry.hasSwitchedWidthHeight()){
+ float temp = dx;
+ dx = dy;
+ dy = temp;
}
- return drawMatrix;
+ Matrix m = mGeometry.buildGeometryMatrix(bitmap.getWidth(), bitmap.getHeight(), 1f/mGeometry.getScaleFactor(), dx, dy);
+ return m;
}
@Override