summaryrefslogtreecommitdiffstats
path: root/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java')
-rw-r--r--src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java141
1 files changed, 141 insertions, 0 deletions
diff --git a/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java b/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java
new file mode 100644
index 000000000..66372c27f
--- /dev/null
+++ b/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java
@@ -0,0 +1,141 @@
+/*
+ * 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.graphics.Color;
+
+import com.android.gallery3d.R;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Vector;
+
+public class FiltersManager extends BaseFiltersManager {
+ private static FiltersManager sInstance = null;
+ private static FiltersManager sPreviewInstance = null;
+ private static FiltersManager sHighresInstance = null;
+ private static int mImageBorderSize = 4; // in percent
+ public FiltersManager() {
+ init();
+ }
+
+ public static FiltersManager getPreviewManager() {
+ if (sPreviewInstance == null) {
+ sPreviewInstance = new FiltersManager();
+ }
+ return sPreviewInstance;
+ }
+
+ public static FiltersManager getManager() {
+ if (sInstance == null) {
+ sInstance = new FiltersManager();
+ }
+ return sInstance;
+ }
+
+ @Override
+ public void addBorders(Context context) {
+
+ // Do not localize
+ String[] serializationNames = {
+ "FRAME_4X5",
+ "FRAME_BRUSH",
+ "FRAME_GRUNGE",
+ "FRAME_SUMI_E",
+ "FRAME_TAPE",
+ "FRAME_BLACK",
+ "FRAME_BLACK_ROUNDED",
+ "FRAME_WHITE",
+ "FRAME_WHITE_ROUNDED",
+ "FRAME_CREAM",
+ "FRAME_CREAM_ROUNDED"
+ };
+
+ // The "no border" implementation
+ int i = 0;
+ FilterRepresentation rep = new FilterImageBorderRepresentation(0);
+ mBorders.add(rep);
+
+ // Regular borders
+ ArrayList <FilterRepresentation> borderList = new ArrayList<FilterRepresentation>();
+
+
+ rep = new FilterImageBorderRepresentation(R.drawable.filtershow_border_4x5);
+ borderList.add(rep);
+
+ rep = new FilterImageBorderRepresentation(R.drawable.filtershow_border_brush);
+ borderList.add(rep);
+
+ rep = new FilterImageBorderRepresentation(R.drawable.filtershow_border_grunge);
+ borderList.add(rep);
+
+ rep = new FilterImageBorderRepresentation(R.drawable.filtershow_border_sumi_e);
+ borderList.add(rep);
+
+ rep = new FilterImageBorderRepresentation(R.drawable.filtershow_border_tape);
+ borderList.add(rep);
+
+ rep = new FilterColorBorderRepresentation(Color.BLACK, mImageBorderSize, 0);
+ borderList.add(rep);
+
+ rep = new FilterColorBorderRepresentation(Color.BLACK, mImageBorderSize,
+ mImageBorderSize);
+ borderList.add(rep);
+
+ rep = new FilterColorBorderRepresentation(Color.WHITE, mImageBorderSize, 0);
+ borderList.add(rep);
+
+ rep = new FilterColorBorderRepresentation(Color.WHITE, mImageBorderSize,
+ mImageBorderSize);
+ borderList.add(rep);
+
+ int creamColor = Color.argb(255, 237, 237, 227);
+ rep = new FilterColorBorderRepresentation(creamColor, mImageBorderSize, 0);
+ borderList.add(rep);
+
+ rep = new FilterColorBorderRepresentation(creamColor, mImageBorderSize,
+ mImageBorderSize);
+ borderList.add(rep);
+
+ for (FilterRepresentation filter : borderList) {
+ filter.setSerializationName(serializationNames[i++]);
+ addRepresentation(filter);
+ }
+
+ }
+
+ public static FiltersManager getHighresManager() {
+ if (sHighresInstance == null) {
+ sHighresInstance = new FiltersManager();
+ }
+ return sHighresInstance;
+ }
+
+ public static void reset() {
+ sInstance = null;
+ sPreviewInstance = null;
+ sHighresInstance = null;
+ }
+
+ public static void setResources(Resources resources) {
+ FiltersManager.getManager().setFilterResources(resources);
+ FiltersManager.getPreviewManager().setFilterResources(resources);
+ FiltersManager.getHighresManager().setFilterResources(resources);
+ }
+}