summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow/ImageShow.java')
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageShow.java63
1 files changed, 25 insertions, 38 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index 0145c24dc..4c74b16ca 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -23,6 +23,7 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
+import android.net.Uri;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.GestureDetector;
@@ -74,16 +75,12 @@ public class ImageShow extends View implements OnGestureListener,
private Bitmap mFiltersOnlyImage = null;
private Bitmap mFilteredImage = null;
- private final boolean USE_SLIDER_GESTURE = false; // set to true to have
- // slider gesture
- protected SliderController mSliderController = new SliderController();
-
private GestureDetector mGestureDetector = null;
private HistoryAdapter mHistoryAdapter = null;
private ImageStateAdapter mImageStateAdapter = null;
- private Rect mImageBounds = new Rect();
+ protected Rect mImageBounds = new Rect();
private boolean mTouchShowOriginal = false;
private long mTouchShowOriginalDate = 0;
@@ -152,15 +149,15 @@ public class ImageShow extends View implements OnGestureListener,
private final Handler mHandler = new Handler();
public void select() {
+ if (mSeekBar != null) {
+ mSeekBar.setOnSeekBarChangeListener(this);
+ }
if (getCurrentFilter() != null) {
int parameter = getCurrentFilter().getParameter();
int maxp = getCurrentFilter().getMaxParameter();
int minp = getCurrentFilter().getMinParameter();
updateSeekBar(parameter, minp, maxp);
}
- if (mSeekBar != null) {
- mSeekBar.setOnSeekBarChangeListener(this);
- }
}
private int parameterToUI(int parameter, int minp, int maxp, int uimax) {
@@ -178,9 +175,6 @@ public class ImageShow extends View implements OnGestureListener,
int seekMax = mSeekBar.getMax();
int progress = parameterToUI(parameter, minp, maxp, seekMax);
mSeekBar.setProgress(progress);
- if (getPanelController() != null) {
- getPanelController().onNewValue(parameter);
- }
}
public void unselect() {
@@ -197,10 +191,8 @@ public class ImageShow extends View implements OnGestureListener,
public void resetParameter() {
ImageFilter currentFilter = getCurrentFilter();
if (currentFilter != null) {
- onNewValue(currentFilter.getDefaultParameter());
- }
- if (USE_SLIDER_GESTURE) {
- mSliderController.reset();
+ updateSeekBar(currentFilter.getDefaultParameter(),
+ getCurrentFilter().getMinParameter(), getCurrentFilter().getMaxParameter());
}
}
@@ -214,8 +206,8 @@ public class ImageShow extends View implements OnGestureListener,
@Override
public void onNewValue(int parameter) {
- int maxp = 100;
- int minp = -100;
+ int maxp = ImageFilter.DEFAULT_MAX_PARAMETER;
+ int minp = ImageFilter.DEFAULT_MIN_PARAMETER;
if (getCurrentFilter() != null) {
getCurrentFilter().setParameter(parameter);
maxp = getCurrentFilter().getMaxParameter();
@@ -228,8 +220,8 @@ public class ImageShow extends View implements OnGestureListener,
if (getPanelController() != null) {
getPanelController().onNewValue(parameter);
}
- updateSeekBar(parameter, minp, maxp);
invalidate();
+ mActivity.enableSave(hasModifications());
}
@Override
@@ -245,9 +237,6 @@ public class ImageShow extends View implements OnGestureListener,
public ImageShow(Context context, AttributeSet attrs) {
super(context, attrs);
- if (USE_SLIDER_GESTURE) {
- mSliderController.setListener(this);
- }
mHistoryAdapter = new HistoryAdapter(context, R.layout.filtershow_history_operation_row,
R.id.rowTextView);
mImageStateAdapter = new ImageStateAdapter(context,
@@ -258,9 +247,6 @@ public class ImageShow extends View implements OnGestureListener,
public ImageShow(Context context) {
super(context);
- if (USE_SLIDER_GESTURE) {
- mSliderController.setListener(this);
- }
mHistoryAdapter = new HistoryAdapter(context, R.layout.filtershow_history_operation_row,
R.id.rowTextView);
setupGestureDetector(context);
@@ -276,10 +262,6 @@ public class ImageShow extends View implements OnGestureListener,
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
setMeasuredDimension(parentWidth, parentHeight);
- if (USE_SLIDER_GESTURE) {
- mSliderController.setWidth(parentWidth);
- mSliderController.setHeight(parentHeight);
- }
}
public void setSeekBar(SeekBar seekBar) {
@@ -323,6 +305,10 @@ public class ImageShow extends View implements OnGestureListener,
return dst;
}
+ public Rect getImageCropBounds() {
+ return GeometryMath.roundNearest(getImagePreset().mGeoData.getPreviewCropBounds());
+ }
+
public Rect getDisplayedImageBounds() {
return mImageBounds;
}
@@ -377,12 +363,6 @@ public class ImageShow extends View implements OnGestureListener,
1.5f * mTextPadding, mPaint);
}
- if (showControls()) {
- if (USE_SLIDER_GESTURE) {
- mSliderController.onDraw(canvas);
- }
- }
-
drawToast(canvas);
}
@@ -396,6 +376,7 @@ public class ImageShow extends View implements OnGestureListener,
public void updateImagePresets(boolean force) {
ImagePreset preset = getImagePreset();
if (preset == null) {
+ mActivity.enableSave(false);
return;
}
if (force) {
@@ -419,6 +400,7 @@ public class ImageShow extends View implements OnGestureListener,
mFiltersOnlyImage = null;
}
}
+ mActivity.enableSave(hasModifications());
}
public void requestFilteredImages() {
@@ -643,13 +625,13 @@ public class ImageShow extends View implements OnGestureListener,
}
public void updateImage() {
+ invalidate();
if (!updateGeometryFlags()) {
return;
}
Bitmap bitmap = mImageLoader.getOriginalBitmapLarge();
if (bitmap != null) {
imageSizeChanged(bitmap);
- invalidate();
}
}
@@ -666,12 +648,17 @@ public class ImageShow extends View implements OnGestureListener,
mImageLoader.saveImage(getImagePreset(), filterShowActivity, file);
}
+ public void saveToUri(Bitmap f, Uri u, String m, FilterShowActivity filterShowActivity) {
+ mImageLoader.saveToUri(f, u, m, filterShowActivity);
+ }
+
+ public void returnFilteredResult(FilterShowActivity filterShowActivity) {
+ mImageLoader.returnFilteredResult(getImagePreset(), filterShowActivity);
+ }
+
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
- if (USE_SLIDER_GESTURE) {
- mSliderController.onTouchEvent(event);
- }
if (mGestureDetector != null) {
mGestureDetector.onTouchEvent(event);
}