RenderNode.SetProjectBackwards(Boolean) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Sets whether the RenderNode should be drawn immediately after the closest ancestor RenderNode containing a projection receiver.
[Android.Runtime.Register("setProjectBackwards", "(Z)Z", "", ApiSince=29)]
public bool SetProjectBackwards (bool shouldProject);
[<Android.Runtime.Register("setProjectBackwards", "(Z)Z", "", ApiSince=29)>]
member this.SetProjectBackwards : bool -> bool
Parameters
- shouldProject
- Boolean
true if the display list should be projected onto a containing volume. Default is false.
Returns
True if the value changed, false if the new value was the same as the previous value.
- Attributes
Remarks
Sets whether the RenderNode should be drawn immediately after the closest ancestor RenderNode containing a projection receiver.
The default is false, and the rendering of this node happens in the typical draw order.
If true, then at rendering time this rendernode will not be drawn in order with the Canvas#drawRenderNode(RenderNode)
command that drew this RenderNode, but instead it will be re-positioned in the RenderNode tree to be drawn on the closet ancestor with a child rendernode that has #setProjectionReceiver(boolean)
as true.
The typical usage of this is to allow a child RenderNode to draw on a parent's background, such as the platform's usage with android.graphics.drawable.RippleDrawable
. Consider the following structure, built out of which RenderNode called drawRenderNode on a different RenderNode:
+-------------+
|RenderNode: P|
+-+----------++
| |
v v
+-------+-----+ +-+--------------+
|RenderNode: C| |RenderNode: P'BG|
+-------+-----+ +----------------+
|
|
+--------+-------+
|RenderNode: C'BG|
+----------------+
If P'BG is a projection receiver, and C'BG is set to project backwards then C'BG will behave as if it was drawn directly by P'BG instead of by C. This includes inheriting P'BG's clip instead of C's clip.
Java documentation for android.graphics.RenderNode.setProjectBackwards(boolean)
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.