diff options
| author | 2023-11-28 16:36:21 +0000 | |
|---|---|---|
| committer | 2023-11-28 16:36:21 +0000 | |
| commit | efc1ef760df74b635a779d6cd311fe33fcee9f7d (patch) | |
| tree | 6fab66216ee5b5265392b165bf30b88967f1f8d7 /graphics/java/android | |
| parent | 242534fe61e431ef68ea433c2c19b33bd77e73b3 (diff) | |
| parent | e93a68ed710c10db187eac296b23b5f8483c5674 (diff) | |
Merge "Add setBackdropRenderEffect for View and RenderNode." into main am: e93a68ed71
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2033223
Change-Id: I11ac30f89b8f34f58d6128bcad9eb61887560136
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'graphics/java/android')
| -rw-r--r-- | graphics/java/android/graphics/RenderNode.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/graphics/java/android/graphics/RenderNode.java b/graphics/java/android/graphics/RenderNode.java index 2e91c240d71b..15d26ebe66f6 100644 --- a/graphics/java/android/graphics/RenderNode.java +++ b/graphics/java/android/graphics/RenderNode.java @@ -971,6 +971,23 @@ public final class RenderNode { } /** + * Configure the {@link android.graphics.RenderEffect} to apply to the backdrop contents of + * this RenderNode. This will apply a visual effect to the result of the backdrop contents + * of this RenderNode before the RenderNode is drawn into the destination. For example if + * {@link RenderEffect#createBlurEffect(float, float, RenderEffect, Shader.TileMode)} + * is provided, the previous content behind this RenderNode will be blurred before the + * RenderNode is drawn in to the destination. + * @param renderEffect to be applied to the backdrop contents of this RenderNode. Passing + * null clears all previously configured RenderEffects + * @return True if the value changed, false if the new value was the same as the previous value. + * @hide + */ + public boolean setBackdropRenderEffect(@Nullable RenderEffect renderEffect) { + return nSetBackdropRenderEffect(mNativeRenderNode, + renderEffect != null ? renderEffect.getNativeInstance() : 0); + } + + /** * Returns the translucency level of this display list. * * @return A value between 0.0f and 1.0f @@ -1797,6 +1814,9 @@ public final class RenderNode { private static native boolean nSetRenderEffect(long renderNode, long renderEffect); @CriticalNative + private static native boolean nSetBackdropRenderEffect(long renderNode, long renderEffect); + + @CriticalNative private static native boolean nSetHasOverlappingRendering(long renderNode, boolean hasOverlappingRendering); |