summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java30
-rw-r--r--src/com/android/gallery3d/filtershow/HistoryAdapter.java2
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageShow.java23
3 files changed, 38 insertions, 17 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index d6a49ebe5..9b1e92cd8 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -37,13 +37,8 @@ import android.provider.MediaStore;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
-import android.view.Display;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
+import android.view.*;
import android.view.View.OnClickListener;
-import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.FrameLayout;
@@ -211,23 +206,32 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
mPanelController.addView(findViewById(R.id.applyEffect));
+ ((ViewStub) findViewById(R.id.historyPanelStub)).inflate();
+ ((ViewStub) findViewById(R.id.statePanelStub)).inflate();
+ setupHistoryPanel();
+ setupStatePanel();
+
+ mPanelController.setRowPanel(findViewById(R.id.secondRowPanel));
+ mPanelController.setUtilityPanel(this, findViewById(R.id.filterButtonsList),
+ findViewById(R.id.panelAccessoryViewList),
+ findViewById(R.id.applyEffect));
+
+ mPanelController.setCurrentPanel(R.id.fxButton);
+ }
+
+ public void setupHistoryPanel() {
findViewById(R.id.resetOperationsButton).setOnClickListener(
createOnClickResetOperationsButton());
ListView operationsList = (ListView) findViewById(R.id.operationsList);
operationsList.setAdapter(mMasterImage.getHistory());
operationsList.setOnItemClickListener(this);
+ }
+ public void setupStatePanel() {
ListView imageStateList = (ListView) findViewById(R.id.imageStateList);
imageStateList.setAdapter(mMasterImage.getState());
mImageLoader.setAdapter(mMasterImage.getHistory());
-
- mPanelController.setRowPanel(findViewById(R.id.secondRowPanel));
- mPanelController.setUtilityPanel(this, findViewById(R.id.filterButtonsList),
- findViewById(R.id.panelAccessoryViewList),
- findViewById(R.id.applyEffect));
-
- mPanelController.setCurrentPanel(R.id.fxButton);
}
private void fillPanel(Vector<FilterRepresentation> representations, int layoutId, int buttonId) {
diff --git a/src/com/android/gallery3d/filtershow/HistoryAdapter.java b/src/com/android/gallery3d/filtershow/HistoryAdapter.java
index a10e66ba4..dc42f4027 100644
--- a/src/com/android/gallery3d/filtershow/HistoryAdapter.java
+++ b/src/com/android/gallery3d/filtershow/HistoryAdapter.java
@@ -205,7 +205,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> {
if (position == mCurrentPresetPosition) {
view.setBackgroundColor(Color.WHITE);
} else {
- view.setBackgroundResource(R.drawable.filtershow_button_background);
+ view.setBackgroundResource(R.color.background_main_toolbar);
}
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
index f44e6f5a7..92d6c7435 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java
@@ -28,6 +28,7 @@ import android.graphics.RectF;
import android.net.Uri;
import android.os.Handler;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
@@ -249,7 +250,7 @@ public class ImageShow extends View implements OnGestureListener,
Point translate = MasterImage.getImage().getTranslation();
float scaleFactor = MasterImage.getImage().getScaleFactor();
m.postTranslate(translate.x, translate.y);
- m.postScale(scaleFactor, scaleFactor, getWidth()/2.0f, getHeight()/2.0f);
+ m.postScale(scaleFactor, scaleFactor, getWidth() / 2.0f, getHeight() / 2.0f);
return m;
}
@@ -301,12 +302,26 @@ public class ImageShow extends View implements OnGestureListener,
@Override
public void onDraw(Canvas canvas) {
MasterImage.getImage().setImageShowSize(getWidth(), getHeight());
- canvas.save();
- // TODO: center scale on gesture
+
float cx = canvas.getWidth()/2.0f;
float cy = canvas.getHeight()/2.0f;
float scaleFactor = MasterImage.getImage().getScaleFactor();
Point translation = MasterImage.getImage().getTranslation();
+
+ Matrix scalingMatrix = new Matrix();
+ scalingMatrix.postScale(scaleFactor, scaleFactor, cx, cy);
+ scalingMatrix.preTranslate(translation.x, translation.y);
+
+ RectF unscaledClipRect = new RectF(mImageBounds);
+ scalingMatrix.mapRect(unscaledClipRect, unscaledClipRect);
+
+ canvas.save();
+ if (!unscaledClipRect.isEmpty()) {
+ canvas.clipRect(unscaledClipRect);
+ }
+
+ canvas.save();
+ // TODO: center scale on gesture
canvas.scale(scaleFactor, scaleFactor, cx, cy);
canvas.translate(translation.x, translation.y);
drawBackground(canvas);
@@ -337,6 +352,8 @@ public class ImageShow extends View implements OnGestureListener,
drawPartialImage(canvas, getGeometryOnlyImage());
canvas.restore();
+ canvas.restore();
+
drawToast(canvas);
}