Merge "Add stitching panorama image to secure album." into gb-ub-photos-arches
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index d308059..fbec411 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -60,6 +60,7 @@
import com.android.gallery3d.filtershow.presets.ImagePreset;
import com.android.gallery3d.filtershow.provider.SharedImageProvider;
import com.android.gallery3d.filtershow.tools.SaveCopyTask;
+import com.android.gallery3d.filtershow.ui.ImageButtonTitle;
import com.android.gallery3d.filtershow.ui.ImageCurves;
import java.io.File;
@@ -96,6 +97,7 @@
private static final int SELECT_PICTURE = 1;
private static final String LOGTAG = "FilterShowActivity";
protected static final boolean ANIMATE_PANELS = true;
+ private static int mImageBorderSize = 40;
private boolean mShowingHistoryPanel = false;
private boolean mShowingImageStatePanel = false;
@@ -117,6 +119,15 @@
ImageFilterRS.setRenderScriptContext(this);
+ // TODO: get those values from XML.
+ ImageShow.setTextSize((int) getPixelsFromDip(12));
+ ImageShow.setTextPadding((int) getPixelsFromDip(10));
+ ImageButtonTitle.setTextSize((int) getPixelsFromDip(12));
+ ImageButtonTitle.setTextPadding((int) getPixelsFromDip(10));
+ ImageSmallFilter.setMargin((int) getPixelsFromDip(6));
+ ImageSmallFilter.setTextMargin((int) getPixelsFromDip(4));
+ mImageBorderSize = (int) getPixelsFromDip(20);
+
setContentView(R.layout.filtershow_activity);
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
@@ -560,10 +571,10 @@
borders[p++] = new ImageFilterBorder(npd1);
Drawable npd2 = getResources().getDrawable(R.drawable.filtershow_border_brush);
borders[p++] = new ImageFilterBorder(npd2);
- borders[p++] = new ImageFilterParametricBorder(Color.BLACK, 100, 0);
- borders[p++] = new ImageFilterParametricBorder(Color.BLACK, 100, 100);
- borders[p++] = new ImageFilterParametricBorder(Color.WHITE, 100, 0);
- borders[p++] = new ImageFilterParametricBorder(Color.WHITE, 100, 100);
+ borders[p++] = new ImageFilterParametricBorder(Color.BLACK, mImageBorderSize, 0);
+ borders[p++] = new ImageFilterParametricBorder(Color.BLACK, mImageBorderSize, mImageBorderSize);
+ borders[p++] = new ImageFilterParametricBorder(Color.WHITE, mImageBorderSize, 0);
+ borders[p++] = new ImageFilterParametricBorder(Color.WHITE, mImageBorderSize, mImageBorderSize);
ImageSmallFilter previousFilter = null;
for (int i = 0; i < p; i++) {
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
index 9bdffee..3d48b7e 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGeometry.java
@@ -84,9 +84,9 @@
// canvas to do a simple implementation...
// TODO: and be more memory efficient! (do it in native?)
Rect cropBounds = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
- RectF c = mGeometry.getCropBounds();
- if(c != null && c.width() > 0 && c.height() > 0)
- c.roundOut(cropBounds);
+ RectF crop = mGeometry.getCropBounds(bitmap);
+ if(crop.width() > 0 && crop.height() > 0)
+ crop.roundOut(cropBounds);
Bitmap temp = null;
if (mGeometry.hasSwitchedWidthHeight()) {
temp = Bitmap.createBitmap(cropBounds.height(), cropBounds.width(), mConfig);
@@ -94,7 +94,7 @@
temp = Bitmap.createBitmap(cropBounds.width(), cropBounds.height(), mConfig);
}
- Matrix drawMatrix = buildMatrix(c);
+ Matrix drawMatrix = buildMatrix(crop);
Canvas canvas = new Canvas(temp);
canvas.drawBitmap(bitmap, drawMatrix, new Paint());
return temp;
diff --git a/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java b/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
index d412f58..352fa5b 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/GeometryMetadata.java
@@ -74,10 +74,19 @@
return mStraightenRotation;
}
- public RectF getCropBounds() {
+ public RectF getPreviewCropBounds() {
return new RectF(mCropBounds);
}
+ public RectF getCropBounds(Bitmap bitmap) {
+ float scale = 1.0f;
+ if (mPhotoBounds.width() > 0) {
+ scale = bitmap.getWidth() / mPhotoBounds.width();
+ }
+ return new RectF(mCropBounds.left * scale, mCropBounds.top * scale,
+ mCropBounds.right * scale, mCropBounds.bottom * scale);
+ }
+
public FLIP getFlipType() {
return mFlip;
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageGeometry.java b/src/com/android/gallery3d/filtershow/imageshow/ImageGeometry.java
index d8d03dc..68df702 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageGeometry.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageGeometry.java
@@ -122,7 +122,7 @@
}
protected RectF getLocalCropBounds() {
- return mLocalGeometry.getCropBounds();
+ return mLocalGeometry.getPreviewCropBounds();
}
protected RectF getLocalDisplayBounds() {
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index f4a2184..3fd6d4f 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -88,6 +88,14 @@
private SeekBar mSeekBar = null;
private PanelController mController = null;
+ public static void setTextSize(int value) {
+ mTextSize = value;
+ }
+
+ public static void setTextPadding(int value) {
+ mTextPadding = value;
+ }
+
private final Handler mHandler = new Handler();
public void select() {
@@ -278,7 +286,7 @@
canvas.drawRect(textRect, mPaint);
mPaint.setARGB(255, 200, 200, 200);
canvas.drawText(getImagePreset().name(), mTextPadding,
- 10 + mTextPadding, mPaint);
+ 1.5f * mTextPadding, mPaint);
}
if (showControls()) {
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageSmallFilter.java b/src/com/android/gallery3d/filtershow/imageshow/ImageSmallFilter.java
index a358e0c..a5d99a0 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageSmallFilter.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageSmallFilter.java
@@ -27,12 +27,20 @@
private ImageSmallFilter mPreviousImageSmallFilter = null;
// TODO: move this to xml.
- protected final int mMargin = 12;
- protected final int mTextMargin = 8;
+ protected static int mMargin = 12;
+ protected static int mTextMargin = 8;
protected final int mBackgroundColor = Color.argb(255, 30, 32, 40);
protected final int mSelectedBackgroundColor = Color.WHITE;
protected final int mTextColor = Color.WHITE;
+ public static void setMargin(int value) {
+ mMargin = value;
+ }
+
+ public static void setTextMargin(int value) {
+ mTextMargin = value;
+ }
+
public ImageSmallFilter(Context context, AttributeSet attrs) {
super(context, attrs);
setOnClickListener(this);
diff --git a/src/com/android/gallery3d/filtershow/ui/ImageButtonTitle.java b/src/com/android/gallery3d/filtershow/ui/ImageButtonTitle.java
index 7f0b043..51ed7fb 100644
--- a/src/com/android/gallery3d/filtershow/ui/ImageButtonTitle.java
+++ b/src/com/android/gallery3d/filtershow/ui/ImageButtonTitle.java
@@ -1,16 +1,15 @@
package com.android.gallery3d.filtershow.ui;
-import com.android.gallery3d.R;
-
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
-import android.util.Log;
import android.widget.ImageButton;
+import com.android.gallery3d.R;
+
public class ImageButtonTitle extends ImageButton {
private static final String LOGTAG = "ImageButtonTitle";
private String mText = null;
@@ -18,6 +17,14 @@
private static int mTextPadding = 20;
private static Paint gPaint = new Paint();
+ public static void setTextSize(int value) {
+ mTextSize = value;
+ }
+
+ public static void setTextPadding(int value) {
+ mTextPadding = value;
+ }
+
public ImageButtonTitle(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = getContext().obtainStyledAttributes(
@@ -26,6 +33,7 @@
mText = a.getString(R.styleable.ImageButtonTitle_android_text);
}
+ @Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mText != null) {