🌈 Create new beautiful Compose Gradients with our new wesite ->
Interface

DrawContext

Object that provides the dependencies to support a DrawScope drawing environment.

Source set: Common
public interface DrawContext

Object that provides the dependencies to support a DrawScope drawing environment. Namely this provides the drawing bounds represented as a size as well as the target Canvas to issue drawing commands into. Additionally the DrawContext handles updating Canvas state during transformations and updating the size of the drawing bounds that may occur during these transformations.

This exposes necessary internal state to the implementation of the DrawScope in order to support inline scoped transformation calls without allowing consumers of DrawScope to modify state directly thus maintaining the stateless API surface

Properties

size

Source set: Common
public var size: Size

The current size of the drawing environment

canvas

Source set: Common
public var canvas: Canvas

The target canvas to issue drawing commands

transform

Source set: Common
public val transform: DrawTransform

The controller for issuing transformations to the drawing environment

layoutDirection

Source set: Common
public var layoutDirection: LayoutDirection

LayoutDirection of the layout being drawn in.

density

Source set: Common
public var density: Density

Density used to assist in conversions of density independent pixels to raw pixels to draw

graphicsLayer

Source set: Common
public var graphicsLayer: GraphicsLayer?

Current GraphicsLayer we are drawing into. Might be null if the canvas is not provided by a GraphicsLayer, for example in the case of a software-accelerated drawing.