diff options
Diffstat (limited to 'core/java/android/view/SurfaceControl.java')
-rw-r--r-- | core/java/android/view/SurfaceControl.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 584fe76..e839468 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -58,6 +58,11 @@ public class SurfaceControl { private static native void nativeSetWindowCrop(long nativeObject, int l, int t, int r, int b); private static native void nativeSetLayerStack(long nativeObject, int layerStack); + private static native void nativeSetBlur(long nativeObject, float blur); + private static native void nativeSetBlurMaskSurface(long nativeObject, long maskLayerNativeObject); + private static native void nativeSetBlurMaskSampling(long nativeObject, int blurMaskSampling); + private static native void nativeSetBlurMaskAlphaThreshold(long nativeObject, float alpha); + private static native boolean nativeClearContentFrameStats(long nativeObject); private static native boolean nativeGetContentFrameStats(long nativeObject, WindowContentFrameStats outStats); private static native boolean nativeClearAnimationFrameStats(); @@ -170,6 +175,11 @@ public class SurfaceControl { public static final int FX_SURFACE_NORMAL = 0x00000000; /** + * Surface creation flag: Creates a blur surface. + */ + public static final int FX_SURFACE_BLUR = 0x00010000; + + /** * Surface creation flag: Creates a Dim surface. * Everything behind this surface is dimmed by the amount specified * in {@link #setAlpha}. It is an error to lock a Dim surface, since it @@ -384,6 +394,29 @@ public class SurfaceControl { nativeSetSize(mNativeObject, w, h); } + public void setBlur(float blur) { + checkNotReleased(); + nativeSetBlur(mNativeObject, blur); + } + + public void setBlurMaskSurface(SurfaceControl maskSurface) { + checkNotReleased(); + if (maskSurface != null) { + maskSurface.checkNotReleased(); + } + nativeSetBlurMaskSurface(mNativeObject, maskSurface == null ? 0:maskSurface.mNativeObject); + } + + public void setBlurMaskSampling(int blurMaskSampling) { + checkNotReleased(); + nativeSetBlurMaskSampling(mNativeObject, blurMaskSampling); + } + + public void setBlurMaskAlphaThreshold(float alpha) { + checkNotReleased(); + nativeSetBlurMaskAlphaThreshold(mNativeObject, alpha); + } + public void hide() { checkNotReleased(); nativeSetFlags(mNativeObject, SURFACE_HIDDEN, SURFACE_HIDDEN); |