summaryrefslogtreecommitdiff
path: root/graphics/java
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2023-11-28 16:36:21 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-11-28 16:36:21 +0000
commitefc1ef760df74b635a779d6cd311fe33fcee9f7d (patch)
tree6fab66216ee5b5265392b165bf30b88967f1f8d7 /graphics/java
parent242534fe61e431ef68ea433c2c19b33bd77e73b3 (diff)
parente93a68ed710c10db187eac296b23b5f8483c5674 (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')
-rw-r--r--graphics/java/android/graphics/RenderNode.java20
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);