diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java deleted file mode 100644 index 3fa91916d..000000000 --- a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (C) 2013 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.filters; - -import android.content.Context; -import android.content.res.Resources; -import android.util.Log; - -import com.android.gallery3d.R; -import com.android.gallery3d.filtershow.editors.EditorCrop; -import com.android.gallery3d.filtershow.editors.EditorMirror; -import com.android.gallery3d.filtershow.editors.EditorRotate; -import com.android.gallery3d.filtershow.editors.EditorStraighten; -import com.android.gallery3d.filtershow.pipeline.ImagePreset; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Vector; - -public abstract class BaseFiltersManager implements FiltersManagerInterface { - protected HashMap<Class, ImageFilter> mFilters = null; - protected HashMap<String, FilterRepresentation> mRepresentationLookup = null; - private static final String LOGTAG = "BaseFiltersManager"; - - protected ArrayList<FilterRepresentation> mLooks = new ArrayList<FilterRepresentation>(); - protected ArrayList<FilterRepresentation> mBorders = new ArrayList<FilterRepresentation>(); - protected ArrayList<FilterRepresentation> mTools = new ArrayList<FilterRepresentation>(); - protected ArrayList<FilterRepresentation> mEffects = new ArrayList<FilterRepresentation>(); - - protected void init() { - mFilters = new HashMap<Class, ImageFilter>(); - mRepresentationLookup = new HashMap<String, FilterRepresentation>(); - Vector<Class> filters = new Vector<Class>(); - addFilterClasses(filters); - for (Class filterClass : filters) { - try { - Object filterInstance = filterClass.newInstance(); - if (filterInstance instanceof ImageFilter) { - mFilters.put(filterClass, (ImageFilter) filterInstance); - - FilterRepresentation rep = - ((ImageFilter) filterInstance).getDefaultRepresentation(); - if (rep != null) { - addRepresentation(rep); - } - } - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - public void addRepresentation(FilterRepresentation rep) { - mRepresentationLookup.put(rep.getSerializationName(), rep); - } - - public FilterRepresentation createFilterFromName(String name) { - try { - return mRepresentationLookup.get(name).copy(); - } catch (Exception e) { - Log.v(LOGTAG, "unable to generate a filter representation for \"" + name + "\""); - e.printStackTrace(); - } - return null; - } - - public ImageFilter getFilter(Class c) { - return mFilters.get(c); - } - - @Override - public ImageFilter getFilterForRepresentation(FilterRepresentation representation) { - return mFilters.get(representation.getFilterClass()); - } - - public FilterRepresentation getRepresentation(Class c) { - ImageFilter filter = mFilters.get(c); - if (filter != null) { - return filter.getDefaultRepresentation(); - } - return null; - } - - public void freeFilterResources(ImagePreset preset) { - if (preset == null) { - return; - } - Vector<ImageFilter> usedFilters = preset.getUsedFilters(this); - for (Class c : mFilters.keySet()) { - ImageFilter filter = mFilters.get(c); - if (!usedFilters.contains(filter)) { - filter.freeResources(); - } - } - } - - public void freeRSFilterScripts() { - for (Class c : mFilters.keySet()) { - ImageFilter filter = mFilters.get(c); - if (filter != null && filter instanceof ImageFilterRS) { - ((ImageFilterRS) filter).resetScripts(); - } - } - } - - protected void addFilterClasses(Vector<Class> filters) { - filters.add(ImageFilterTinyPlanet.class); - filters.add(ImageFilterRedEye.class); - filters.add(ImageFilterWBalance.class); - filters.add(ImageFilterExposure.class); - filters.add(ImageFilterVignette.class); - filters.add(ImageFilterGrad.class); - filters.add(ImageFilterContrast.class); - filters.add(ImageFilterShadows.class); - filters.add(ImageFilterHighlights.class); - filters.add(ImageFilterVibrance.class); - filters.add(ImageFilterSharpen.class); - filters.add(ImageFilterCurves.class); - filters.add(ImageFilterDraw.class); - filters.add(ImageFilterHue.class); - filters.add(ImageFilterChanSat.class); - filters.add(ImageFilterSaturated.class); - filters.add(ImageFilterBwFilter.class); - filters.add(ImageFilterNegative.class); - filters.add(ImageFilterEdge.class); - filters.add(ImageFilterKMeans.class); - filters.add(ImageFilterFx.class); - filters.add(ImageFilterBorder.class); - filters.add(ImageFilterParametricBorder.class); - } - - public ArrayList<FilterRepresentation> getLooks() { - return mLooks; - } - - public ArrayList<FilterRepresentation> getBorders() { - return mBorders; - } - - public ArrayList<FilterRepresentation> getTools() { - return mTools; - } - - public ArrayList<FilterRepresentation> getEffects() { - return mEffects; - } - - public void addBorders(Context context) { - - } - - public void addLooks(Context context) { - int[] drawid = { - R.drawable.filtershow_fx_0005_punch, - R.drawable.filtershow_fx_0000_vintage, - R.drawable.filtershow_fx_0004_bw_contrast, - R.drawable.filtershow_fx_0002_bleach, - R.drawable.filtershow_fx_0001_instant, - R.drawable.filtershow_fx_0007_washout, - R.drawable.filtershow_fx_0003_blue_crush, - R.drawable.filtershow_fx_0008_washout_color, - R.drawable.filtershow_fx_0006_x_process - }; - - int[] fxNameid = { - R.string.ffx_punch, - R.string.ffx_vintage, - R.string.ffx_bw_contrast, - R.string.ffx_bleach, - R.string.ffx_instant, - R.string.ffx_washout, - R.string.ffx_blue_crush, - R.string.ffx_washout_color, - R.string.ffx_x_process - }; - - // Do not localize. - String[] serializationNames = { - "LUT3D_PUNCH", - "LUT3D_VINTAGE", - "LUT3D_BW", - "LUT3D_BLEACH", - "LUT3D_INSTANT", - "LUT3D_WASHOUT", - "LUT3D_BLUECRUSH", - "LUT3D_WASHOUT", - "LUT3D_XPROCESS" - }; - - FilterFxRepresentation nullFx = - new FilterFxRepresentation(context.getString(R.string.none), - 0, R.string.none); - mLooks.add(nullFx); - - for (int i = 0; i < drawid.length; i++) { - FilterFxRepresentation fx = new FilterFxRepresentation( - context.getString(fxNameid[i]), drawid[i], fxNameid[i]); - fx.setSerializationName(serializationNames[i]); - ImagePreset preset = new ImagePreset(); - preset.addFilter(fx); - FilterUserPresetRepresentation rep = new FilterUserPresetRepresentation( - context.getString(fxNameid[i]), preset, -1); - mLooks.add(rep); - addRepresentation(fx); - } - } - - public void addEffects() { - mEffects.add(getRepresentation(ImageFilterTinyPlanet.class)); - mEffects.add(getRepresentation(ImageFilterWBalance.class)); - mEffects.add(getRepresentation(ImageFilterExposure.class)); - mEffects.add(getRepresentation(ImageFilterVignette.class)); - mEffects.add(getRepresentation(ImageFilterGrad.class)); - mEffects.add(getRepresentation(ImageFilterContrast.class)); - mEffects.add(getRepresentation(ImageFilterShadows.class)); - mEffects.add(getRepresentation(ImageFilterHighlights.class)); - mEffects.add(getRepresentation(ImageFilterVibrance.class)); - mEffects.add(getRepresentation(ImageFilterSharpen.class)); - mEffects.add(getRepresentation(ImageFilterCurves.class)); - mEffects.add(getRepresentation(ImageFilterHue.class)); - mEffects.add(getRepresentation(ImageFilterChanSat.class)); - mEffects.add(getRepresentation(ImageFilterBwFilter.class)); - mEffects.add(getRepresentation(ImageFilterNegative.class)); - mEffects.add(getRepresentation(ImageFilterEdge.class)); - mEffects.add(getRepresentation(ImageFilterKMeans.class)); - } - - public void addTools(Context context) { - - int[] editorsId = { - EditorCrop.ID, - EditorStraighten.ID, - EditorRotate.ID, - EditorMirror.ID - }; - - int[] textId = { - R.string.crop, - R.string.straighten, - R.string.rotate, - R.string.mirror - }; - - int[] overlayId = { - R.drawable.filtershow_button_geometry_crop, - R.drawable.filtershow_button_geometry_straighten, - R.drawable.filtershow_button_geometry_rotate, - R.drawable.filtershow_button_geometry_flip - }; - - FilterRepresentation[] geometryFilters = { - new FilterCropRepresentation(), - new FilterStraightenRepresentation(), - new FilterRotateRepresentation(), - new FilterMirrorRepresentation() - }; - - for (int i = 0; i < editorsId.length; i++) { - int editorId = editorsId[i]; - FilterRepresentation geometry = geometryFilters[i]; - geometry.setEditorId(editorId); - geometry.setTextId(textId[i]); - geometry.setOverlayId(overlayId[i]); - geometry.setOverlayOnly(true); - if (geometry.getTextId() != 0) { - geometry.setName(context.getString(geometry.getTextId())); - } - mTools.add(geometry); - } - - mTools.add(getRepresentation(ImageFilterRedEye.class)); - mTools.add(getRepresentation(ImageFilterDraw.class)); - } - - public void setFilterResources(Resources resources) { - ImageFilterBorder filterBorder = (ImageFilterBorder) getFilter(ImageFilterBorder.class); - filterBorder.setResources(resources); - ImageFilterFx filterFx = (ImageFilterFx) getFilter(ImageFilterFx.class); - filterFx.setResources(resources); - } -} |