diff options
author | nicolasroard <nicolasroard@google.com> | 2013-07-03 10:22:26 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-07-03 10:22:26 -0700 |
commit | 7fef4963161ddc60472b6414be0b3d57744deb6b (patch) | |
tree | 8793f50a2987fd0030f3bc3076186318b418e772 /src | |
parent | d77e55a4bf326b4bfc1f3880f24d068cb79af1ce (diff) | |
download | android_packages_apps_Snap-7fef4963161ddc60472b6414be0b3d57744deb6b.tar.gz android_packages_apps_Snap-7fef4963161ddc60472b6414be0b3d57744deb6b.tar.bz2 android_packages_apps_Snap-7fef4963161ddc60472b6414be0b3d57744deb6b.zip |
Remove FilterIconButton
Change-Id: Ie1d7c4e8d3f397323f702eba2809f2589b8071f0
Diffstat (limited to 'src')
3 files changed, 0 insertions, 373 deletions
diff --git a/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java b/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java index 027fa5d8e..384f57a79 100644 --- a/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java +++ b/src/com/android/gallery3d/filtershow/category/CategoryAdapter.java @@ -17,17 +17,14 @@ package com.android.gallery3d.filtershow.category; import android.content.Context; -import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; -import com.android.gallery3d.R; import com.android.gallery3d.filtershow.filters.FilterRepresentation; import com.android.gallery3d.filtershow.filters.FilterTinyPlanetRepresentation; import com.android.gallery3d.filtershow.pipeline.ImagePreset; -import com.android.gallery3d.filtershow.ui.FilterIconButton; public class CategoryAdapter extends ArrayAdapter<Action> { diff --git a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java b/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java deleted file mode 100644 index af965a359..000000000 --- a/src/com/android/gallery3d/filtershow/ui/FilterIconButton.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.gallery3d.filtershow.ui; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.RectF; -import android.graphics.drawable.Drawable; -import android.util.AttributeSet; -import android.view.View; -import android.widget.LinearLayout; - -import com.android.gallery3d.R; -import com.android.gallery3d.filtershow.FilterShowActivity; -import com.android.gallery3d.filtershow.pipeline.RenderingRequest; -import com.android.gallery3d.filtershow.pipeline.RenderingRequestCaller; -import com.android.gallery3d.filtershow.category.Action; -import com.android.gallery3d.filtershow.category.CategoryAdapter; -import com.android.gallery3d.filtershow.filters.FilterRepresentation; -import com.android.gallery3d.filtershow.imageshow.GeometryListener; -import com.android.gallery3d.filtershow.imageshow.GeometryMetadata; -import com.android.gallery3d.filtershow.imageshow.MasterImage; -import com.android.gallery3d.filtershow.pipeline.ImagePreset; -import com.android.gallery3d.filtershow.tools.IconFactory; - -// TODO: merge back IconButton and FilterIconButton? -public class FilterIconButton extends IconButton implements View.OnClickListener, - RenderingRequestCaller, GeometryListener { - private static final String LOGTAG = "FilterIconButton"; - private Bitmap mOverlayBitmap = null; - private boolean mOverlayOnly = false; - private FilterRepresentation mFilterRepresentation = null; - private Bitmap mIconBitmap = null; - private Action mAction; - private Paint mSelectPaint; - private int mSelectStroke; - private CategoryAdapter mAdapter; - public FilterIconButton(Context context) { - super(context); - } - - public FilterIconButton(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public FilterIconButton(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - public void setup(String text, LinearLayout parent, CategoryAdapter adapter) { - mAdapter = adapter; - setText(text); - setContentDescription(text); - super.setOnClickListener(this); - Resources res = getContext().getResources(); - MasterImage.getImage().addGeometryListener(this); - mSelectStroke = res.getDimensionPixelSize(R.dimen.thumbnail_margin); - mSelectPaint = new Paint(); - mSelectPaint.setStyle(Paint.Style.FILL); - mSelectPaint.setColor(res.getColor(R.color.filtershow_category_selection)); - invalidate(); - } - - @Override - public void onClick(View v) { - FilterShowActivity activity = (FilterShowActivity) getContext(); - activity.showRepresentation(mFilterRepresentation); - mAdapter.setSelected(v); - } - - public FilterRepresentation getFilterRepresentation() { - return mFilterRepresentation; - } - - public void setAction(Action action) { - mAction = action; - if (action == null) { - return; - } - if (mAction.getPortraitImage() != null) { - mIconBitmap = mAction.getPortraitImage(); - setIcon(mIconBitmap); - } - setFilterRepresentation(mAction.getRepresentation()); - } - - private void setFilterRepresentation(FilterRepresentation filterRepresentation) { - mFilterRepresentation = filterRepresentation; - if (mFilterRepresentation != null && mFilterRepresentation.getOverlayId() != 0) { - if (mAction.getOverlayBitmap() == null) { - mOverlayBitmap = BitmapFactory.decodeResource(getResources(), - mFilterRepresentation.getOverlayId()); - mAction.setOverlayBitmap(mOverlayBitmap); - } else { - mOverlayBitmap = mAction.getOverlayBitmap(); - } - } - mOverlayOnly = mFilterRepresentation.getOverlayOnly(); - if (mOverlayOnly) { - assert(mOverlayBitmap != null); - setIcon(mOverlayBitmap); - } - invalidate(); - } - - @Override - protected void onDraw(Canvas canvas) { - if (mIconBitmap == null && !mOverlayOnly) { - postNewIconRenderRequest(); - } else { - super.onDraw(canvas); - } - if (mAdapter.isSelected(this)) { - Drawable iconDrawable = getCompoundDrawables()[1]; - if (iconDrawable != null) { - canvas.save(); - int padding = getCompoundDrawablePadding(); - canvas.translate(getScrollX() + padding + getPaddingLeft() - mSelectStroke - 1, - getScrollY() + padding + getPaddingTop() - mSelectStroke - 1); - Rect r = iconDrawable.getBounds(); - SelectionRenderer.drawSelection(canvas, r.left, r.top, - r.right + 2 * mSelectStroke + 2, r.bottom + 2 * mSelectStroke + 2, - mSelectStroke, mSelectPaint); - canvas.restore(); - } - } - } - - @Override - public void available(RenderingRequest request) { - Bitmap bmap = request.getBitmap(); - if (bmap == null) { - return; - } - if (mOverlayOnly) { - setIcon(mOverlayBitmap); - } else { - mIconBitmap = bmap; - if (mOverlayBitmap != null) { - // Draw overlay bitmap over icon - IconFactory.drawIcon(mIconBitmap, mOverlayBitmap, false); - } - setIcon(mIconBitmap); - if (mAction != null) { - mAction.setPortraitImage(mIconBitmap); - } - } - } - - @Override - public void geometryChanged() { - if (mOverlayOnly) { - return; - } - mIconBitmap = null; - invalidate(); - } - - private void postNewIconRenderRequest() { - Bitmap dst = MasterImage.getImage().getThumbnailBitmap(); - if (dst != null && mAction != null) { - ImagePreset mPreset = new ImagePreset(); - mPreset.addFilter(mFilterRepresentation); - - GeometryMetadata geometry = mPreset.getGeometry(); - RectF bound = new RectF(0, 0, dst.getWidth(), dst.getHeight()); - geometry.setCropBounds(bound); - geometry.setPhotoBounds(bound); - mPreset.setGeometry(geometry); - RenderingRequest.post(dst.copy(Bitmap.Config.ARGB_8888, true), - mPreset, RenderingRequest.ICON_RENDERING, this); - } - } -} diff --git a/src/com/android/gallery3d/filtershow/ui/IconButton.java b/src/com/android/gallery3d/filtershow/ui/IconButton.java deleted file mode 100644 index e7087bdfe..000000000 --- a/src/com/android/gallery3d/filtershow/ui/IconButton.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.gallery3d.filtershow.ui; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.drawable.BitmapDrawable; -import android.util.AttributeSet; -import android.widget.Button; - -import com.android.gallery3d.filtershow.tools.IconFactory; -import com.android.photos.data.GalleryBitmapPool; - -/** - * Class of buttons with both an image icon and text. - */ -public class IconButton extends Button { - - private Bitmap mImageMirror = null; - private Bitmap mIcon = null; - - private boolean stale_icon = true; - - public IconButton(Context context) { - this(context, null); - } - - public IconButton(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public IconButton(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - BitmapDrawable ic = (BitmapDrawable) getCompoundDrawables()[1]; - - if (ic != null) { - mImageMirror = ic.getBitmap(); - } - } - - /** - * Set the image that the button icon will use. The image bitmap will be scaled - * and cropped into the largest bitmap with dimensions given by getGoodIconSideSize() - * that will fit cleanly within the IconButton's layout. - * - * @param image image that icon will be set to before next draw. - */ - public void setIcon(Bitmap image) { - mImageMirror = image; - stale_icon = true; - invalidate(); - } - - /** - * Finds a side lengths for the icon that fits within the button. - * Only call after layout. The default implementation returns the best - * side lengths for a square icon. - * <p> - * Override this to make non-square icons or icons with different padding - * constraints. - * - * @return an array of ints representing the icon dimensions [ width, height ] - */ - protected int[] getGoodIconSideSize() { - Paint p = getPaint(); - Rect bounds = new Rect(); - // find text bounds - String s = getText().toString(); - p.getTextBounds(s, 0, s.length(), bounds); - - int inner_padding = 2 * getCompoundDrawablePadding(); - - // find total vertical space available for the icon - int vert = getHeight() - getPaddingTop() - getPaddingBottom() - bounds.height() - - inner_padding; - - // find total horizontal space available for the icon - int horiz = getWidth() - getPaddingLeft() - getPaddingRight() - inner_padding; - - int defaultSize = Math.min(vert, horiz); - return new int[] { defaultSize, defaultSize }; - } - - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - if (w != oldw || h != oldh) { - stale_icon = true; - } - } - - @Override - protected void onDraw(Canvas canvas) { - if (stale_icon && mImageMirror != null && mImageMirror.getHeight() > 0 - && mImageMirror.getWidth() > 0) { - stale_icon = !makeAndSetIcon(mImageMirror); - } - super.onDraw(canvas); - } - - // Internal methods - - /** - * Creates and sets button icon. Only call after layout. - * - * @param image bitmap to use as icon - */ - private boolean makeAndSetIcon(Bitmap image) { - int[] sizes = getGoodIconSideSize(); - if (sizes != null && sizes.length >= 2 && sizes[0] > 0 && sizes[1] > 0) { - return setImageIcon(makeImageIcon(image, sizes[0], sizes[1])); - } - return false; - } - - /** - * Sets icon. - * - * @param image bitmap to set the icon to. - */ - private boolean setImageIcon(Bitmap image) { - if (image == null) { - return false; - } - if(mIcon != null && mIcon.getConfig() == Bitmap.Config.ARGB_8888) { - GalleryBitmapPool.getInstance().put(mIcon); - mIcon = null; - } - mIcon = image; - this.setCompoundDrawablesWithIntrinsicBounds(null, - new BitmapDrawable(getResources(), mIcon), null, null); - return true; - } - - /** - * Generate an icon bitmap from a given bitmap. - * - * @param image bitmap to use as button icon - * @param width icon width - * @param height icon height - * @return the scaled/cropped icon bitmap - */ - private Bitmap makeImageIcon(Bitmap image, int width, int height) { - if (image == null || image.getHeight() < 1 || image.getWidth() < 1 || - width < 1 || height < 1) { - throw new IllegalArgumentException("input is null, or has invalid dimensions"); - } - Bitmap icon = null; - icon = GalleryBitmapPool.getInstance().get(width, height); - if (icon == null) { - icon = IconFactory.createIcon(image, width, height, false); - } else { - assert(icon.getWidth() == width && icon.getHeight() == height); - icon.eraseColor(Color.TRANSPARENT); - IconFactory.drawIcon(icon, image, false); - } - return icon; - } -} |