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

Summary

Public properties

open Canvas

The target canvas to issue drawing commands

Cmn
open Density

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

Cmn
open GraphicsLayer?

Current GraphicsLayer we are drawing into.

Cmn
open LayoutDirection

LayoutDirection of the layout being drawn in.

Cmn
Size

The current size of the drawing environment

Cmn
DrawTransform

The controller for issuing transformations to the drawing environment

Cmn

Public properties

canvas

open var canvasCanvas

The target canvas to issue drawing commands

density

open var densityDensity

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

graphicsLayer

open var graphicsLayerGraphicsLayer?

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.

layoutDirection

open var layoutDirectionLayoutDirection

LayoutDirection of the layout being drawn in.

size

var sizeSize

The current size of the drawing environment

transform

val transformDrawTransform

The controller for issuing transformations to the drawing environment