summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/imageshow
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2012-10-05 03:48:34 -0700
committernicolasroard <nicolasroard@google.com>2012-10-05 12:23:05 -0700
commit3eb4f642da18e1d4510b251fb136344595456372 (patch)
tree51fac52f623abe4a5d8e5125f273df6f01f74dce /src/com/android/gallery3d/filtershow/imageshow
parent7f905f7a79968a713c4da7c80646d92a9b87dcc6 (diff)
downloadandroid_packages_apps_Snap-3eb4f642da18e1d4510b251fb136344595456372.tar.gz
android_packages_apps_Snap-3eb4f642da18e1d4510b251fb136344595456372.tar.bz2
android_packages_apps_Snap-3eb4f642da18e1d4510b251fb136344595456372.zip
New UI...
bug:7289525 bug:7289361 Change-Id: Ifde15d57f0d307417a1c7a7ae9b1122be873558f
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow')
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageShow.java119
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java20
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java29
3 files changed, 141 insertions, 27 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index 2a660d40f..da38d3b7e 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -1,36 +1,33 @@
package com.android.gallery3d.filtershow.imageshow;
-import com.android.gallery3d.filtershow.FilterShowActivity;
-import com.android.gallery3d.filtershow.HistoryAdapter;
-import com.android.gallery3d.filtershow.ImageStateAdapter;
-import com.android.gallery3d.filtershow.cache.ImageLoader;
-import com.android.gallery3d.filtershow.filters.ImageFilter;
-import com.android.gallery3d.filtershow.presets.ImagePreset;
-import com.android.gallery3d.filtershow.ui.SliderListener;
-import com.android.gallery3d.filtershow.ui.SliderController;
-import com.android.gallery3d.R;
-import com.android.gallery3d.R.id;
-import com.android.gallery3d.R.layout;
-
-import java.io.File;
-
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
-import android.net.Uri;
import android.os.Handler;
-import android.os.Message;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
-import android.view.View.MeasureSpec;
import android.widget.ArrayAdapter;
+import android.widget.SeekBar;
+import android.widget.SeekBar.OnSeekBarChangeListener;
-public class ImageShow extends View implements SliderListener {
+import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.HistoryAdapter;
+import com.android.gallery3d.filtershow.ImageStateAdapter;
+import com.android.gallery3d.filtershow.PanelController;
+import com.android.gallery3d.filtershow.cache.ImageLoader;
+import com.android.gallery3d.filtershow.filters.ImageFilter;
+import com.android.gallery3d.filtershow.presets.ImagePreset;
+import com.android.gallery3d.filtershow.ui.SliderController;
+import com.android.gallery3d.filtershow.ui.SliderListener;
+
+import java.io.File;
+
+public class ImageShow extends View implements SliderListener, OnSeekBarChangeListener {
private static final String LOGTAG = "ImageShow";
@@ -64,8 +61,47 @@ public class ImageShow extends View implements SliderListener {
protected float mTouchX = 0;
protected float mTouchY = 0;
- private Handler mHandler = new Handler();
+ private SeekBar mSeekBar = null;
+ private PanelController mController = null;
+
+ private final Handler mHandler = new Handler();
+
+ public void select() {
+ if (getCurrentFilter() != null) {
+ int parameter = getCurrentFilter().getParameter();
+ updateSeekBar(parameter);
+ }
+ }
+ public void updateSeekBar(int parameter) {
+ if (mSeekBar == null) {
+ return;
+ }
+ int progress = parameter + 100;
+ mSeekBar.setProgress(progress);
+ if (getPanelController() != null) {
+ getPanelController().onNewValue(parameter);
+ }
+ }
+
+ public void unselect() {
+
+ }
+
+ public void resetParameter() {
+ onNewValue(0);
+ mSliderController.reset();
+ }
+
+ public void setPanelController(PanelController controller) {
+ mController = controller;
+ }
+
+ public PanelController getPanelController() {
+ return mController;
+ }
+
+ @Override
public void onNewValue(int value) {
if (getCurrentFilter() != null) {
getCurrentFilter().setParameter(value);
@@ -74,15 +110,21 @@ public class ImageShow extends View implements SliderListener {
mImageLoader.resetImageForPreset(getImagePreset(), this);
getImagePreset().fillImageStateAdapter(mImageStateAdapter);
}
+ if (getPanelController() != null) {
+ getPanelController().onNewValue(value);
+ }
+ updateSeekBar(value);
invalidate();
}
+ @Override
public void onTouchDown(float x, float y) {
mTouchX = x;
mTouchY = y;
invalidate();
}
+ @Override
public void onTouchUp() {
}
@@ -102,6 +144,7 @@ public class ImageShow extends View implements SliderListener {
R.id.rowTextView);
}
+ @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
@@ -110,6 +153,11 @@ public class ImageShow extends View implements SliderListener {
mSliderController.setHeight(parentHeight);
}
+ public void setSeekBar(SeekBar seekBar) {
+ mSeekBar = seekBar;
+ mSeekBar.setOnSeekBarChangeListener(this);
+ }
+
public void setCurrentFilter(ImageFilter filter) {
mCurrentFilter = filter;
}
@@ -180,6 +228,7 @@ public class ImageShow extends View implements SliderListener {
}
}
+ @Override
public void onDraw(Canvas canvas) {
drawBackground(canvas);
getFilteredImage();
@@ -262,8 +311,18 @@ public class ImageShow extends View implements SliderListener {
}
}
- public void setShowControls(boolean value) {
+ public ImageShow setShowControls(boolean value) {
mShowControls = value;
+ if (mShowControls) {
+ if (mSeekBar != null) {
+ mSeekBar.setVisibility(View.VISIBLE);
+ }
+ } else {
+ if (mSeekBar != null) {
+ mSeekBar.setVisibility(View.INVISIBLE);
+ }
+ }
+ return this;
}
public boolean showControls() {
@@ -324,6 +383,7 @@ public class ImageShow extends View implements SliderListener {
mImageLoader.saveImage(getImagePreset(), filterShowActivity, file);
}
+ @Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
mSliderController.onTouchEvent(event);
@@ -368,4 +428,21 @@ public class ImageShow extends View implements SliderListener {
mImageRotation = imageRotation;
mImageRotationZoomFactor = imageRotationZoomFactor;
}
+
+ @Override
+ public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) {
+ onNewValue(progress - 100);
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar arg0) {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java b/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java
index debaec708..4fdf8303a 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
+import com.android.gallery3d.filtershow.PanelController;
import com.android.gallery3d.filtershow.filters.ImageFilter;
import com.android.gallery3d.filtershow.presets.ImagePreset;
@@ -26,18 +27,22 @@ public class ImageSlave extends ImageShow {
mMasterImageShow = master;
}
+ @Override
public ImagePreset getImagePreset() {
return mMasterImageShow.getImagePreset();
}
+ @Override
public void setImagePreset(ImagePreset preset, boolean addToHistory) {
mMasterImageShow.setImagePreset(preset, addToHistory);
}
+ @Override
public void setCurrentFilter(ImageFilter filter) {
mMasterImageShow.setCurrentFilter(filter);
}
+ @Override
public ImageFilter getCurrentFilter() {
return mMasterImageShow.getCurrentFilter();
}
@@ -46,20 +51,35 @@ public class ImageSlave extends ImageShow {
mMasterImageShow.setImageRotation(mImageRotation, mImageRotationZoomFactor);
}
+ @Override
public boolean showTitle() {
return false;
}
+ @Override
public float getImageRotation() {
return mMasterImageShow.getImageRotation();
}
+ @Override
public float getImageRotationZoomFactor() {
return mMasterImageShow.getImageRotationZoomFactor();
}
+ @Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
+ @Override
+ public void setPanelController(PanelController controller) {
+ mMasterImageShow.setPanelController(controller);
+ }
+
+ @Override
+ public PanelController getPanelController() {
+ return mMasterImageShow.getPanelController();
+ }
+
+
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
index eb034bf10..99aa389ac 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
@@ -1,26 +1,24 @@
package com.android.gallery3d.filtershow.imageshow;
-import com.android.gallery3d.filtershow.presets.ImagePreset;
-
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
-import android.graphics.Rect;
import android.graphics.RectF;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.MotionEvent;
+import com.android.gallery3d.filtershow.presets.ImagePreset;
+
public class ImageStraighten extends ImageSlave {
private float mImageRotation = 0;
private float mImageRotationZoomFactor = 0;
- private float mMinAngle = -45;
- private float mMaxAngle = 45;
+ private final float mMinAngle = -45;
+ private final float mMaxAngle = 45;
private float mBaseAngle = 0;
private float mAngle = 0;
private float mCenterX;
@@ -69,6 +67,7 @@ public class ImageStraighten extends ImageSlave {
public void setActionUp() {
mMode = MODES.UP;
updatePreset();
+ invalidate();
}
public void setNoAction() {
@@ -81,6 +80,16 @@ public class ImageStraighten extends ImageSlave {
setImagePreset(copy);
}
+ @Override
+ public void resetParameter() {
+ super.resetParameter();
+ mImageRotation = 0;
+ mAngle = 0;
+ updatePreset();
+ invalidate();
+ }
+
+ @Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getActionMasked()) {
case (MotionEvent.ACTION_DOWN):
@@ -97,6 +106,9 @@ public class ImageStraighten extends ImageSlave {
}
mImageRotation = mAngle;
updateAngle();
+ if (getPanelController() != null) {
+ getPanelController().onNewValue((int) mImageRotation);
+ }
invalidate();
return true;
}
@@ -124,11 +136,16 @@ public class ImageStraighten extends ImageSlave {
// ///////////////////////////////////////////////////////////////////////////
+ @Override
public void onNewValue(int value) {
mImageRotation = value;
+ if (getPanelController() != null) {
+ getPanelController().onNewValue(value);
+ }
invalidate();
}
+ @Override
public void onDraw(Canvas canvas) {
mCenterX = getWidth() / 2;
mCenterY = getHeight() / 2;