DrawContext

Interface

Common
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

Common
var size: Size

The current size of the drawing environment

Common
var canvas: Canvas

The target canvas to issue drawing commands

Common
val transform: DrawTransform

The controller for issuing transformations to the drawing environment

Common
var layoutDirection: LayoutDirection

LayoutDirection of the layout being drawn in.

Common
var density: Density

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

Common
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.