DrawModifierNode

Interface

Common
interface DrawModifierNode : DelegatableNode

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

Functions

fun ContentDrawScope.draw()
fun onMeasureResultChanged()

Code Examples

DrawModifierNodeSample

@Composable
fun DrawModifierNodeSample() {
    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))
}