summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-03-27 04:58:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-03-27 04:58:14 +0000
commita148e5b2139e6dad6c77f79e3440abb671db70b2 (patch)
treedc39c194a051711743129378cbcce1f1dce6e89f
parent81c9d5d383e366670cb88c3a16a457428cdc18dd (diff)
parentc07f1badee5eb2debeb55e7d15d894163e03f3e8 (diff)
downloadandroid_packages_apps_Snap-a148e5b2139e6dad6c77f79e3440abb671db70b2.tar.gz
android_packages_apps_Snap-a148e5b2139e6dad6c77f79e3440abb671db70b2.tar.bz2
android_packages_apps_Snap-a148e5b2139e6dad6c77f79e3440abb671db70b2.zip
Merge "Moves ownership of the environment to the pipeline" into gb-ub-photos-bryce
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java2
-rw-r--r--src/com/android/gallery3d/filtershow/cache/CachingPipeline.java47
-rw-r--r--src/com/android/gallery3d/filtershow/cache/ImageLoader.java57
-rw-r--r--src/com/android/gallery3d/filtershow/cache/RenderingRequest.java7
-rw-r--r--src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java2
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageZoom.java139
-rw-r--r--src/com/android/gallery3d/filtershow/presets/ImagePreset.java56
7 files changed, 64 insertions, 246 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index a64283911..14a51392c 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -68,7 +68,6 @@ import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
import com.android.gallery3d.filtershow.imageshow.ImageCrop;
import com.android.gallery3d.filtershow.imageshow.ImageShow;
import com.android.gallery3d.filtershow.imageshow.ImageTinyPlanet;
-import com.android.gallery3d.filtershow.imageshow.ImageZoom;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
import com.android.gallery3d.filtershow.presets.ImagePreset;
import com.android.gallery3d.filtershow.provider.SharedImageProvider;
@@ -356,7 +355,6 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
ImageShow.setDefaultBackgroundColor(res.getColor(R.color.background_screen));
// TODO: get those values from XML.
- ImageZoom.setZoomedSize(getPixelsFromDip(256));
FramedTextButton.setTextSize((int) getPixelsFromDip(14));
FramedTextButton.setTrianglePadding((int) getPixelsFromDip(4));
FramedTextButton.setTriangleSize((int) getPixelsFromDip(10));
diff --git a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
index 1190ea4f8..f2b17fc0c 100644
--- a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
+++ b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
@@ -24,6 +24,7 @@ import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilterRS;
import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
+import com.android.gallery3d.filtershow.presets.FilterEnvironment;
import com.android.gallery3d.filtershow.presets.ImagePreset;
public class CachingPipeline {
@@ -36,6 +37,8 @@ public class CachingPipeline {
private volatile Bitmap mOriginalBitmap = null;
private volatile Bitmap mResizedOriginalBitmap = null;
+ private FilterEnvironment mEnvironment = new FilterEnvironment();
+
private volatile Allocation mOriginalAllocation = null;
private volatile Allocation mFiltersOnlyOriginalAllocation = null;
@@ -108,18 +111,19 @@ public class CachingPipeline {
return "UNKNOWN TYPE!";
}
- private void setPresetParameters(ImagePreset preset) {
- preset.setScaleFactor(mPreviewScaleFactor);
- preset.setQuality(ImagePreset.QUALITY_PREVIEW);
- preset.setupEnvironment(mFiltersManager);
- preset.getEnvironment().setCachingPipeline(this);
+ private void setupEnvironment(ImagePreset preset) {
+ mEnvironment.setCachingPipeline(this);
+ mEnvironment.setFiltersManager(mFiltersManager);
+ mEnvironment.setScaleFactor(mPreviewScaleFactor);
+ mEnvironment.setQuality(ImagePreset.QUALITY_PREVIEW);
+ mEnvironment.setImagePreset(preset);
}
public void setOriginal(Bitmap bitmap) {
mOriginalBitmap = bitmap;
Log.v(LOGTAG,"setOriginal, size " + bitmap.getWidth() + " x " + bitmap.getHeight());
ImagePreset preset = MasterImage.getImage().getPreset();
- preset.setupEnvironment(mFiltersManager);
+ setupEnvironment(preset);
updateOriginalAllocation(preset);
}
@@ -149,7 +153,7 @@ public class CachingPipeline {
}
Allocation originalAllocation = mOriginalAllocation;
- mResizedOriginalBitmap = preset.applyGeometry(originalBitmap);
+ mResizedOriginalBitmap = preset.applyGeometry(originalBitmap, mEnvironment);
mOriginalAllocation = Allocation.createFromBitmap(RS, mResizedOriginalBitmap,
Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
if (originalAllocation != null) {
@@ -173,7 +177,7 @@ public class CachingPipeline {
Bitmap bitmap = request.getBitmap();
ImagePreset preset = request.getImagePreset();
- setPresetParameters(preset);
+ setupEnvironment(preset);
mFiltersManager.freeFilterResources(preset);
if (request.getType() == RenderingRequest.PARTIAL_RENDERING) {
@@ -182,8 +186,8 @@ public class CachingPipeline {
Log.w(LOGTAG, "loader not yet setup, cannot handle: " + getType(request));
return;
}
- bitmap = loader.getScaleOneImageForPreset(null, preset,
- request.getBounds(), request.getDestination(), false);
+ bitmap = loader.getScaleOneImageForPreset(request.getBounds(),
+ request.getDestination());
if (bitmap == null) {
Log.w(LOGTAG, "could not get bitmap for: " + getType(request));
return;
@@ -213,7 +217,7 @@ public class CachingPipeline {
|| request.getType() == RenderingRequest.FILTERS_RENDERING
|| request.getType() == RenderingRequest.ICON_RENDERING
|| request.getType() == RenderingRequest.PARTIAL_RENDERING) {
- Bitmap bmp = preset.apply(bitmap);
+ Bitmap bmp = preset.apply(bitmap, mEnvironment);
request.setBitmap(bmp);
mFiltersManager.freeFilterResources(preset);
}
@@ -221,10 +225,20 @@ public class CachingPipeline {
}
public synchronized Bitmap renderFinalImage(Bitmap bitmap, ImagePreset preset) {
- setPresetParameters(preset);
+ setupEnvironment(preset);
+ mEnvironment.setQuality(ImagePreset.QUALITY_FINAL);
+ mEnvironment.setScaleFactor(1.0f);
+ mFiltersManager.freeFilterResources(preset);
+ bitmap = preset.applyGeometry(bitmap, mEnvironment);
+ bitmap = preset.apply(bitmap, mEnvironment);
+ return bitmap;
+ }
+
+ public synchronized Bitmap renderGeometryIcon(Bitmap bitmap, ImagePreset preset) {
+ setupEnvironment(preset);
+ mEnvironment.setQuality(ImagePreset.QUALITY_PREVIEW);
mFiltersManager.freeFilterResources(preset);
- bitmap = preset.applyGeometry(bitmap);
- bitmap = preset.apply(bitmap);
+ bitmap = preset.applyGeometry(bitmap, mEnvironment);
return bitmap;
}
@@ -236,7 +250,7 @@ public class CachingPipeline {
String thread = Thread.currentThread().getName();
long time = System.currentTimeMillis();
- setPresetParameters(preset);
+ setupEnvironment(preset);
mFiltersManager.freeFilterResources(preset);
Bitmap resizedOriginalBitmap = mResizedOriginalBitmap;
@@ -254,7 +268,7 @@ public class CachingPipeline {
}
mOriginalAllocation.copyTo(bitmap);
- bitmap = preset.apply(bitmap);
+ bitmap = preset.apply(bitmap, mEnvironment);
mFiltersManager.freeFilterResources(preset);
@@ -321,4 +335,5 @@ public class CachingPipeline {
public String getName() {
return mName;
}
+
}
diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
index ef3e3d5ce..a6a0bcf84 100644
--- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
+++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
@@ -40,6 +40,7 @@ import com.android.gallery3d.exif.ExifTag;
import com.android.gallery3d.exif.ExifInterface;
import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.HistoryAdapter;
+import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.imageshow.ImageShow;
import com.android.gallery3d.filtershow.presets.ImagePreset;
import com.android.gallery3d.filtershow.tools.BitmapTask;
@@ -358,51 +359,28 @@ public class ImageLoader {
}
};
- // FIXME: this currently does the loading + filtering on the UI thread --
- // need to move this to a background thread.
- public Bitmap getScaleOneImageForPreset(ImageShow caller, ImagePreset imagePreset, Rect bounds,
- Rect destination, boolean force) {
+ public Bitmap getScaleOneImageForPreset(Rect bounds, Rect destination) {
mLoadingLock.lock();
- Bitmap bmp = mZoomCache.getImage(imagePreset, bounds);
- if (force || bmp == null) {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inMutable = true;
- if (destination != null) {
- if (bounds.width() > destination.width()) {
- int sampleSize = 1;
- int w = bounds.width();
- while (w > destination.width()) {
- sampleSize *= 2;
- w /= sampleSize;
- }
- options.inSampleSize = sampleSize;
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inMutable = true;
+ if (destination != null) {
+ if (bounds.width() > destination.width()) {
+ int sampleSize = 1;
+ int w = bounds.width();
+ while (w > destination.width()) {
+ sampleSize *= 2;
+ w /= sampleSize;
}
- }
- bmp = loadRegionBitmap(mUri, options, bounds);
- if (destination != null) {
- mLoadingLock.unlock();
- return bmp;
- }
- if (bmp != null) {
- float scaleFactor = imagePreset.getScaleFactor();
- float scale = (float) bmp.getWidth() / (float) getOriginalBounds().width();
- imagePreset.setScaleFactor(scale);
- imagePreset.setupEnvironment();
- bmp = imagePreset.apply(bmp);
- imagePreset.setScaleFactor(scaleFactor);
- mZoomCache.setImage(imagePreset, bounds, bmp);
- mLoadingLock.unlock();
- return bmp;
+ options.inSampleSize = sampleSize;
}
}
+ Bitmap bmp = loadRegionBitmap(mUri, options, bounds);
mLoadingLock.unlock();
return bmp;
}
public void saveImage(ImagePreset preset, final FilterShowActivity filterShowActivity,
File destination) {
- preset.setQuality(ImagePreset.QUALITY_FINAL);
- preset.setScaleFactor(1.0f);
new SaveCopyTask(mContext, mUri, destination, new SaveCopyTask.Callback() {
@Override
@@ -510,9 +488,6 @@ public class ImageLoader {
public void returnFilteredResult(ImagePreset preset,
final FilterShowActivity filterShowActivity) {
- preset.setQuality(ImagePreset.QUALITY_FINAL);
- preset.setScaleFactor(1.0f);
-
BitmapTask.Callbacks<ImagePreset> cb = new BitmapTask.Callbacks<ImagePreset>() {
@Override
@@ -545,9 +520,9 @@ public class ImageLoader {
Log.w(LOGTAG, "Failed to save image!");
return null;
}
- param.setupEnvironment();
- bitmap = param.applyGeometry(bitmap);
- bitmap = param.apply(bitmap);
+ CachingPipeline pipeline = new CachingPipeline(
+ FiltersManager.getManager(), "Saving");
+ bitmap = pipeline.renderFinalImage(bitmap, param);
noBitmap = false;
} catch (java.lang.OutOfMemoryError e) {
// Try 5 times before failing for good.
diff --git a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
index 3cc61f9f0..138abb0c9 100644
--- a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
+++ b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
@@ -19,7 +19,9 @@ package com.android.gallery3d.filtershow.cache;
import android.graphics.Bitmap;
import android.graphics.Rect;
import com.android.gallery3d.app.Log;
+import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
+import com.android.gallery3d.filtershow.presets.FilterEnvironment;
import com.android.gallery3d.filtershow.presets.ImagePreset;
public class RenderingRequest {
@@ -54,8 +56,9 @@ public class RenderingRequest {
if (type == FULL_RENDERING
|| type == GEOMETRY_RENDERING
|| type == ICON_RENDERING) {
- preset.setupEnvironment();
- bitmap = preset.applyGeometry(source);
+ CachingPipeline pipeline = new CachingPipeline(
+ FiltersManager.getManager(), "Icon");
+ bitmap = pipeline.renderGeometryIcon(source, preset);
} else if (type != PARTIAL_RENDERING) {
bitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(), mConfig);
}
diff --git a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
index d84c9f2bd..b5c4de048 100644
--- a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
+++ b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java
@@ -65,7 +65,7 @@ public abstract class BaseFiltersManager {
if (preset == null) {
return;
}
- Vector<ImageFilter> usedFilters = preset.getUsedFilters();
+ Vector<ImageFilter> usedFilters = preset.getUsedFilters(this);
for (Class c : mFilters.keySet()) {
ImageFilter filter = mFilters.get(c);
if (!usedFilters.contains(filter)) {
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageZoom.java b/src/com/android/gallery3d/filtershow/imageshow/ImageZoom.java
deleted file mode 100644
index eb568c303..000000000
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageZoom.java
+++ /dev/null
@@ -1,139 +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.imageshow;
-
-import android.content.Context;
-import android.graphics.*;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-
-import com.android.gallery3d.filtershow.cache.ImageLoader;
-
-public class ImageZoom extends ImageShow {
- private static final String LOGTAG = "ImageZoom";
- private boolean mTouchDown = false;
- private boolean mZoomedIn = false;
- private Rect mZoomBounds = null;
- private static float mMaxSize = 512;
-
- public ImageZoom(Context context) {
- super(context);
- }
-
- public ImageZoom(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public static void setZoomedSize(float size) {
- mMaxSize = size;
- }
-
- @Override
- public void resetParameter() {
- super.resetParameter();
- mZoomedIn = false;
- mTouchDown = false;
- }
-
- public void onTouchDown(float x, float y) {
- if (mZoomedIn || mTouchDown) {
- return;
- }
- mTouchDown = true;
- GeometryMetadata geo = getImagePreset().mGeoData;
- Matrix originalToScreen = geo.getOriginalToScreen(true,
- mImageLoader.getOriginalBounds().width(),
- mImageLoader.getOriginalBounds().height(),
- getWidth(), getHeight());
- float[] point = new float[2];
- point[0] = x;
- point[1] = y;
- Matrix inverse = new Matrix();
- originalToScreen.invert(inverse);
- inverse.mapPoints(point);
-
- float ratio = (float) getWidth() / (float) getHeight();
- float mh = mMaxSize;
- float mw = ratio * mh;
- Point touch = getTouchPoint();
- RectF zoomRect = new RectF(touch.x - mw, touch.y - mh, touch.x + mw, touch.y + mw);
- inverse.mapRect(zoomRect);
- zoomRect.set(zoomRect.centerX() - mw, zoomRect.centerY() - mh,
- zoomRect.centerX() + mw, zoomRect.centerY() + mh);
- mZoomBounds = new Rect((int) zoomRect.left, (int) zoomRect.top,
- (int) zoomRect.right, (int) zoomRect.bottom);
- invalidate();
- }
-
- public void onTouchUp() {
- mTouchDown = false;
- }
-
- @Override
- public void onDraw(Canvas canvas) {
- drawBackground(canvas);
-
- Bitmap filteredImage = null;
- if ((mZoomedIn || mTouchDown) && mImageLoader != null) {
- filteredImage = mImageLoader.getScaleOneImageForPreset(this, getImagePreset(),
- mZoomBounds, null, false);
- } else {
- filteredImage = getFilteredImage();
- }
- canvas.save();
- if (mZoomedIn || mTouchDown) {
- int orientation = ImageLoader.getZoomOrientation();
- switch (orientation) {
- case ImageLoader.ORI_ROTATE_90: {
- canvas.rotate(90, getWidth() / 2, getHeight() / 2);
- break;
- }
- case ImageLoader.ORI_ROTATE_270: {
- canvas.rotate(270, getWidth() / 2, getHeight() / 2);
- break;
- }
- case ImageLoader.ORI_TRANSPOSE: {
- canvas.rotate(90, getWidth() / 2, getHeight() / 2);
- canvas.scale(1, -1);
- break;
- }
- case ImageLoader.ORI_TRANSVERSE: {
- canvas.rotate(270, getWidth() / 2, getHeight() / 2);
- canvas.scale(1, -1);
- break;
- }
- }
- }
- drawImage(canvas, filteredImage);
- canvas.restore();
-
- drawToast(canvas);
- }
-
- @Override
- public boolean onDoubleTap(MotionEvent event) {
-
- if (!mZoomedIn) {
- onTouchDown(event.getX(), event.getY());
- } else {
- onTouchUp();
- }
- mZoomedIn = !mZoomedIn;
- invalidate();
- return false;
- }
-}
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index b75ac64fb..b2dd6b711 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -22,6 +22,7 @@ import android.util.Log;
import com.android.gallery3d.filtershow.ImageStateAdapter;
import com.android.gallery3d.filtershow.cache.ImageLoader;
+import com.android.gallery3d.filtershow.filters.BaseFiltersManager;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilter;
@@ -35,11 +36,9 @@ public class ImagePreset {
private static final String LOGTAG = "ImagePreset";
private FilterRepresentation mBorder = null;
- private float mScaleFactor = 1.0f;
public static final int QUALITY_ICON = 0;
public static final int QUALITY_PREVIEW = 1;
public static final int QUALITY_FINAL = 2;
- private int mQuality = QUALITY_PREVIEW;
private ImageLoader mImageLoader = null;
private Vector<FilterRepresentation> mFilters = new Vector<FilterRepresentation>();
@@ -57,8 +56,6 @@ public class ImagePreset {
private Bitmap mPreviewImage;
- private FilterEnvironment mEnvironment = new FilterEnvironment();
-
public ImagePreset() {
setup();
}
@@ -412,42 +409,31 @@ public class ImagePreset {
// do nothing here
}
- public void setupEnvironment() {
- setupEnvironment(FiltersManager.getManager());
- }
-
- public void setupEnvironment(FiltersManager filtersManager) {
- getEnvironment().setImagePreset(this);
- getEnvironment().setScaleFactor(mScaleFactor);
- getEnvironment().setQuality(mQuality);
- getEnvironment().setFiltersManager(filtersManager);
- }
-
- public Bitmap apply(Bitmap original) {
+ public Bitmap apply(Bitmap original, FilterEnvironment environment) {
Bitmap bitmap = original;
- bitmap = applyFilters(bitmap, -1, -1);
- return applyBorder(bitmap);
+ bitmap = applyFilters(bitmap, -1, -1, environment);
+ return applyBorder(bitmap, environment);
}
- public Bitmap applyGeometry(Bitmap bitmap) {
+ public Bitmap applyGeometry(Bitmap bitmap, FilterEnvironment environment) {
// Apply any transform -- 90 rotate, flip, straighten, crop
// Returns a new bitmap.
if (mDoApplyGeometry) {
mGeoData.synchronizeRepresentation();
- bitmap = mEnvironment.applyRepresentation(mGeoData, bitmap);
+ bitmap = environment.applyRepresentation(mGeoData, bitmap);
}
return bitmap;
}
- public Bitmap applyBorder(Bitmap bitmap) {
+ public Bitmap applyBorder(Bitmap bitmap, FilterEnvironment environment) {
if (mBorder != null && mDoApplyGeometry) {
mBorder.synchronizeRepresentation();
- bitmap = mEnvironment.applyRepresentation(mBorder, bitmap);
+ bitmap = environment.applyRepresentation(mBorder, bitmap);
}
return bitmap;
}
- public Bitmap applyFilters(Bitmap bitmap, int from, int to) {
+ public Bitmap applyFilters(Bitmap bitmap, int from, int to, FilterEnvironment environment) {
if (mDoApplyFilters) {
if (from < 0) {
from = 0;
@@ -461,7 +447,7 @@ public class ImagePreset {
representation = mFilters.elementAt(i);
representation.synchronizeRepresentation();
}
- bitmap = mEnvironment.applyRepresentation(representation, bitmap);
+ bitmap = environment.applyRepresentation(representation, bitmap);
}
}
@@ -500,22 +486,6 @@ public class ImagePreset {
imageStateAdapter.notifyDataSetChanged();
}
- public float getScaleFactor() {
- return mScaleFactor;
- }
-
- public int getQuality() {
- return mQuality;
- }
-
- public void setQuality(int value) {
- mQuality = value;
- }
-
- public void setScaleFactor(float value) {
- mScaleFactor = value;
- }
-
public void setPartialRendering(boolean partialRendering, Rect bounds) {
mPartialRendering = partialRendering;
mPartialRenderingBounds = bounds;
@@ -537,18 +507,14 @@ public class ImagePreset {
mPreviewImage = previewImage;
}
- public Vector<ImageFilter> getUsedFilters() {
+ public Vector<ImageFilter> getUsedFilters(BaseFiltersManager filtersManager) {
Vector<ImageFilter> usedFilters = new Vector<ImageFilter>();
for (int i = 0; i < mFilters.size(); i++) {
FilterRepresentation representation = mFilters.elementAt(i);
- FiltersManager filtersManager = getEnvironment().getFiltersManager();
ImageFilter filter = filtersManager.getFilterForRepresentation(representation);
usedFilters.add(filter);
}
return usedFilters;
}
- public FilterEnvironment getEnvironment() {
- return mEnvironment;
- }
}