diff options
author | nicolasroard <nicolasroard@google.com> | 2013-04-12 17:47:14 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-04-12 18:07:11 -0700 |
commit | d02932454e58d6858ec80d64932247f73dd0b19b (patch) | |
tree | 62e056f7bddf88594146908fbae2017bdb8c54f4 /src/com/android/gallery3d/filtershow/presets | |
parent | a3211b06f224ea79db8dac02b5ed19ccdb9f9094 (diff) | |
download | android_packages_apps_Snap-d02932454e58d6858ec80d64932247f73dd0b19b.tar.gz android_packages_apps_Snap-d02932454e58d6858ec80d64932247f73dd0b19b.tar.bz2 android_packages_apps_Snap-d02932454e58d6858ec80d64932247f73dd0b19b.zip |
Add direct rendering for border
bug:8603245
Change-Id: Ibc1bde9adb19f930b474e4076a0c2720fbe0bc8d
Diffstat (limited to 'src/com/android/gallery3d/filtershow/presets')
-rw-r--r-- | src/com/android/gallery3d/filtershow/presets/ImagePreset.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java index 791164f5c..00f5977d1 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.support.v8.renderscript.Allocation; import android.util.Log; import com.android.gallery3d.filtershow.ImageStateAdapter; +import com.android.gallery3d.filtershow.cache.CachingPipeline; import com.android.gallery3d.filtershow.cache.ImageLoader; import com.android.gallery3d.filtershow.filters.BaseFiltersManager; import com.android.gallery3d.filtershow.filters.FilterRepresentation; @@ -228,6 +229,10 @@ public class ImagePreset { mBorder = filter; } + public void resetBorder() { + mBorder = null; + } + public boolean isFx() { return mIsFxPreset; } @@ -474,6 +479,16 @@ public class ImagePreset { return bitmap; } + public void applyBorder(Allocation in, Allocation out, FilterEnvironment environment) { + if (mBorder != null && mDoApplyGeometry) { + mBorder.synchronizeRepresentation(); + // TODO: should keep the bitmap around + Allocation bitmapIn = Allocation.createTyped(CachingPipeline.getRenderScriptContext(), in.getType()); + bitmapIn.copyFrom(out); + environment.applyRepresentation(mBorder, bitmapIn, out); + } + } + public void applyFilters(int from, int to, Allocation in, Allocation out, FilterEnvironment environment) { if (mDoApplyFilters) { if (from < 0) { |