DrawModifierNode
-
Cmn
interface DrawModifierNode : DelegatableNode
CacheDrawModifierNode |
Expands on the |
A Modifier.Node that draws into the space of the layout.
This is the androidx.compose.ui.Modifier.Node equivalent of androidx.compose.ui.draw.DrawModifier
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.ContentDrawScope import androidx.compose.ui.node.DrawModifierNode import androidx.compose.ui.node.ModifierNodeElement import androidx.compose.ui.platform.InspectorInfo class CircleNode(var color: Color) : DrawModifierNode, Modifier.Node() { override fun ContentDrawScope.draw() { drawCircle(color) } } data class CircleElement(val color: Color) : ModifierNodeElement<CircleNode>() { override fun create() = CircleNode(color) override fun update(node: CircleNode) { node.color = color } override fun InspectorInfo.inspectableProperties() { name = "color" properties["color"] = color } } fun Modifier.circle(color: Color) = this then CircleElement(color) Box(Modifier.fillMaxSize().circle(Color.Blue))
Summary
Extension functions |
||
|---|---|---|
Unit |
Invalidates this modifier's draw layer, ensuring that a draw pass will be run on the next frame. |
Cmn
|
Inherited functions |
|---|
Inherited properties |
|||
|---|---|---|---|
|
Public functions
Extension functions
invalidateDraw
fun DrawModifierNode.invalidateDraw(): Unit
Invalidates this modifier's draw layer, ensuring that a draw pass will be run on the next frame.