diff options
author | nicolasroard <nicolasroard@google.com> | 2013-03-04 21:43:49 -0800 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-03-05 00:16:17 -0800 |
commit | 6aa73e7615a165c185778c238a7d6c73b6b56eff (patch) | |
tree | 6d359d4b945359e5d11afea5d3c7d9d215210ff1 /src/com/android/gallery3d/filtershow/imageshow | |
parent | 72db7ea0c18e5cc2f465252b53d9b6d2a8dcc6a0 (diff) | |
download | android_packages_apps_Snap-6aa73e7615a165c185778c238a7d6c73b6b56eff.tar.gz android_packages_apps_Snap-6aa73e7615a165c185778c238a7d6c73b6b56eff.tar.bz2 android_packages_apps_Snap-6aa73e7615a165c185778c238a7d6c73b6b56eff.zip |
Visual History
Change-Id: I3397c44b8c47985c97de5b82456c03469b2fb8db
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow')
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageShow.java | 7 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/MasterImage.java | 26 |
2 files changed, 31 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 926f14ac0..1edfd79a1 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -572,6 +572,7 @@ public class ImageShow extends View implements OnGestureListener, translation.y = (int) (originalTranslation.y + translateY); MasterImage.getImage().setTranslation(translation); } + mTouchShowOriginal = false; } else if (!mOriginalDisabled && !mActivity.isShowingHistoryPanel() && (System.currentTimeMillis() - mTouchShowOriginalDate > mTouchShowOriginalDelayMin) @@ -629,14 +630,16 @@ public class ImageShow extends View implements OnGestureListener, if (mActivity == null) { return false; } + if (endEvent.getPointerCount() == 2) { + return false; + } if ((!mActivity.isShowingHistoryPanel() && startEvent.getX() > endEvent.getX()) || (mActivity.isShowingHistoryPanel() && endEvent.getX() > startEvent.getX())) { if (!mTouchShowOriginal || (mTouchShowOriginal && (System.currentTimeMillis() - mTouchShowOriginalDate < mTouchShowOriginalDelayMax))) { - // TODO fix gesture. - // mActivity.toggleHistoryPanel(); + mActivity.toggleHistoryPanel(); } } return true; diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index e93c3713f..209c3bdb9 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -39,6 +39,7 @@ public class MasterImage implements RenderingRequestCaller { private static MasterImage sMasterImage = null; private static int sIconSeedSize = 128; + private static float sHistoryPreviewSize = 128.0f; private Bitmap mThumbnailBitmap; private ImageFilter mCurrentFilter = null; @@ -132,6 +133,7 @@ public class MasterImage implements RenderingRequestCaller { mPreset.fillImageStateAdapter(mState); if (addToHistory) { mHistory.addHistoryItem(mPreset); + renderHistoryPreview(); } updatePresets(true); GeometryMetadata geo = mPreset.mGeoData; @@ -141,6 +143,23 @@ public class MasterImage implements RenderingRequestCaller { mPreviousGeometry = new GeometryMetadata(geo); } + private void renderHistoryPreview() { + ImagePreset historyPreset = mPreset; + if (historyPreset != null) { + Bitmap preview = mLoader.getOriginalBitmapSmall(); + if (preview != null) { + float s = Math.min(preview.getWidth(), preview.getHeight()); + float f = sHistoryPreviewSize / s; + int w = (int) (preview.getWidth() * f); + int h = (int) (preview.getHeight() * f); + Bitmap historyPreview = Bitmap.createScaledBitmap(preview, w, h, true); + historyPreset.setPreviewImage(historyPreview); + RenderingRequest.post(historyPreview, + historyPreset, RenderingRequest.ICON_RENDERING, this); + } + } + } + private void setGeometry() { Bitmap image = mLoader.getOriginalBitmapLarge(); if (image == null) { @@ -292,6 +311,7 @@ public class MasterImage implements RenderingRequestCaller { invalidatePartialPreview(); needsUpdateFullResPreview(); FilteringPipeline.getPipeline().updatePreviewBuffer(); + renderHistoryPreview(); } public void setImageShowSize(int w, int h) { @@ -356,6 +376,12 @@ public class MasterImage implements RenderingRequestCaller { mPartialBitmap = request.getBitmap(); notifyObservers(); } + if (request.getType() == RenderingRequest.ICON_RENDERING) { + // History preview images + ImagePreset preset = request.getOriginalImagePreset(); + preset.setPreviewImage(request.getBitmap()); + mHistory.notifyDataSetChanged(); + } } public static void reset() { |