From 49a6d76f505148e1b3a4842bd358cc155c051c74 Mon Sep 17 00:00:00 2001 From: John Hoford Date: Tue, 9 Apr 2013 17:47:24 -0700 Subject: support icon styles Change-Id: I9a4af2826824fd519099363b3190fc417b67c022 --- .../filtershow/cache/CachingPipeline.java | 5 ++- .../filtershow/cache/RenderingRequest.java | 5 ++- .../filtershow/controller/StyleChooser.java | 36 ++++++++-------------- .../filtershow/filters/FilterRepresentation.java | 6 +++- .../gallery3d/filtershow/presets/ImagePreset.java | 2 ++ 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java index 055309f22..32d4ab094 100644 --- a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java +++ b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java @@ -282,10 +282,13 @@ public class CachingPipeline { || request.getType() == RenderingRequest.FILTERS_RENDERING || request.getType() == RenderingRequest.ICON_RENDERING || request.getType() == RenderingRequest.PARTIAL_RENDERING - || request.getType() == RenderingRequest.HIGHRES_RENDERING) { + || request.getType() == RenderingRequest.HIGHRES_RENDERING + || request.getType() == RenderingRequest.STYLE_ICON_RENDERING) { if (request.getType() == RenderingRequest.ICON_RENDERING) { mEnvironment.setQuality(ImagePreset.QUALITY_ICON); + } else if (request.getType() == RenderingRequest.STYLE_ICON_RENDERING) { + mEnvironment.setQuality(ImagePreset.STYLE_ICON); } else { mEnvironment.setQuality(ImagePreset.QUALITY_PREVIEW); } diff --git a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java index 3416ddfc2..e5bc411de 100644 --- a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java +++ b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java @@ -41,6 +41,8 @@ public class RenderingRequest { public static final int ICON_RENDERING = 3; public static final int PARTIAL_RENDERING = 4; public static final int HIGHRES_RENDERING = 5; + public static final int STYLE_ICON_RENDERING = 6; + private static final Bitmap.Config mConfig = Bitmap.Config.ARGB_8888; public static void post(Bitmap source, ImagePreset preset, int type, RenderingRequestCaller caller) { @@ -59,7 +61,8 @@ public class RenderingRequest { Bitmap bitmap = null; if (type == FULL_RENDERING || type == GEOMETRY_RENDERING - || type == ICON_RENDERING) { + || type == ICON_RENDERING + || type == STYLE_ICON_RENDERING) { CachingPipeline pipeline = new CachingPipeline( FiltersManager.getManager(), "Icon"); bitmap = pipeline.renderGeometryIcon(source, preset); diff --git a/src/com/android/gallery3d/filtershow/controller/StyleChooser.java b/src/com/android/gallery3d/filtershow/controller/StyleChooser.java index 3f75839ba..b3d0de715 100644 --- a/src/com/android/gallery3d/filtershow/controller/StyleChooser.java +++ b/src/com/android/gallery3d/filtershow/controller/StyleChooser.java @@ -17,13 +17,12 @@ import com.android.gallery3d.filtershow.editors.Editor; import java.util.Vector; -public class StyleChooser implements Control, RenderingRequestCaller { +public class StyleChooser implements Control { private final String LOGTAG = "StyleChooser"; protected ParameterStyles mParameter; protected LinearLayout mLinearLayout; protected Editor mEditor; private View mTopView; - private int mProcessingButton = 0; private Vector mIconButton = new Vector(); protected int mLayoutID = R.layout.filtershow_control_style_chooser; @@ -42,7 +41,7 @@ public class StyleChooser implements Control, RenderingRequestCaller { mIconButton.clear(); LayoutParams lp = new LayoutParams(120, 120); for (int i = 0; i < n; i++) { - ImageButton button = new ImageButton(context); + final ImageButton button = new ImageButton(context); button.setScaleType(ScaleType.CENTER_CROP); button.setLayoutParams(lp); button.setBackgroundResource(android.R.color.transparent); @@ -55,9 +54,17 @@ public class StyleChooser implements Control, RenderingRequestCaller { } }); mLinearLayout.addView(button); + mParameter.getIcon(i, new RenderingRequestCaller() { + @Override + public void available(RenderingRequest request) { + Bitmap bmap = request.getBitmap(); + if (bmap == null) { + return; + } + button.setImageBitmap(bmap); + } + }); } - mProcessingButton = 0; - mParameter.getIcon(mProcessingButton, this); } @Override @@ -78,23 +85,4 @@ public class StyleChooser implements Control, RenderingRequestCaller { } } - @Override - public void available(RenderingRequest request) { - Bitmap bmap = request.getBitmap(); - if (bmap == null) { - return; - } - - try { - ImageButton button = mIconButton.get(mProcessingButton); - button.setImageBitmap(bmap); - } catch (Exception e) { - return; - } - - mProcessingButton++; - if (mProcessingButton < mParameter.getNumberOfStyles()) - mParameter.getIcon(mProcessingButton, this); - } - } diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java index 7e0e25d61..5bb0e5733 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java @@ -42,7 +42,7 @@ public class FilterRepresentation implements Cloneable { public static final byte TYPE_NORMAL = 5; public static final byte TYPE_TINYPLANET = 6; - public FilterRepresentation mTempRepresentation = null; + private FilterRepresentation mTempRepresentation = null; public FilterRepresentation(String name) { mName = name; @@ -127,6 +127,10 @@ public class FilterRepresentation implements Cloneable { public void useParametersFrom(FilterRepresentation a) { } + public void clearTempRepresentation() { + mTempRepresentation = null; + } + public synchronized void updateTempParametersFrom(FilterRepresentation representation) { if (mTempRepresentation == null) { try { diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java index a35a18a7d..2858ea6e5 100644 --- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java +++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java @@ -39,6 +39,8 @@ public class ImagePreset { public static final int QUALITY_ICON = 0; public static final int QUALITY_PREVIEW = 1; public static final int QUALITY_FINAL = 2; + public static final int STYLE_ICON = 3; + private ImageLoader mImageLoader = null; private Vector mFilters = new Vector(); -- cgit v1.2.3