DrawTransform
interface DrawTransform
androidx.compose.ui.graphics.drawscope.DrawTransform |
Defines transformations that can be applied to a drawing environment
Summary
Public methods | |
---|---|
abstract Unit |
Reduces the clip region to the intersection of the current clip and the given rounded rectangle. |
abstract Unit |
clipRect(left: Float = 0.0f, top: Float = 0.0f, right: Float = size.width, bottom: Float = size.height, clipOp: ClipOp = ClipOp.Intersect) Reduces the clip region to the intersection of the current clip and the given rectangle indicated by the given left, top, right and bottom bounds. |
abstract Unit |
Simultaneously translate the coordinate space by left and top as well as modify the dimensions of the current painting area. |
abstract Unit |
Add a rotation (in degrees clockwise) to the current transform at the given pivot point. |
abstract Unit |
Add an axis-aligned scale to the current transform, scaling by the first argument in the horizontal direction and the second in the vertical direction at the given pivot coordinate. |
abstract Unit |
Transform the drawing environment by the given matrix |
abstract Unit |
Translate the coordinate space by the given delta in pixels in both the x and y coordinates respectively |
Extension functions | ||||||||
---|---|---|---|---|---|---|---|---|
From androidx.compose.ui.graphics.drawscope
|
Properties | |
---|---|
open Offset |
Convenience method to obtain the current position of the current transformation |
abstract Size |
Get the current size of the CanvasTransform |
Public methods
clipPath
abstract fun clipPath(
path: Path,
clipOp: ClipOp = ClipOp.Intersect
): Unit
Reduces the clip region to the intersection of the current clip and the given rounded rectangle. After this method is invoked, this clip is no longer applied
Parameters | |
---|---|
path: Path | Shape to clip drawing content within |
clipOp: ClipOp = ClipOp.Intersect | Clipping operation to conduct on the given bounds, defaults to ClipOp.Intersect |
clipRect
abstract fun clipRect(
left: Float = 0.0f,
top: Float = 0.0f,
right: Float = size.width,
bottom: Float = size.height,
clipOp: ClipOp = ClipOp.Intersect
): Unit
Reduces the clip region to the intersection of the current clip and the given rectangle indicated by the given left, top, right and bottom bounds. After this method is invoked, this clip is no longer applied.
Use ClipOp.Difference to subtract the provided rectangle from the current clip.
Parameters | |
---|---|
left: Float = 0.0f | Left bound of the rectangle to clip |
top: Float = 0.0f | Top bound of the rectangle to clip |
right: Float = size.width | Right bound ofthe rectangle to clip |
bottom: Float = size.height | Bottom bound of the rectangle to clip |
clipOp: ClipOp = ClipOp.Intersect | Clipping operation to perform on the given bounds |
inset
abstract fun inset(
left: Float,
top: Float,
right: Float,
bottom: Float
): Unit
Simultaneously translate the coordinate space by left and top as well as modify the dimensions of the current painting area. This provides a callback to issue more drawing instructions within the modified coordinate space. This method modifies the width to be equivalent to width - (left + right) as well as height to height - (top + bottom)
Parameters | |
---|---|
left: Float | number of pixels to inset the left drawing bound |
top: Float | number of pixels to inset the top drawing bound |
right: Float | number of pixels to inset the right drawing bound |
bottom: Float | number of pixels to inset the bottom drawing bound |
rotate
abstract fun rotate(
degrees: Float,
pivot: Offset = center
): Unit
Add a rotation (in degrees clockwise) to the current transform at the given pivot point. The pivot coordinate remains unchanged by the rotation transformation.
Parameters | |
---|---|
degrees: Float | to rotate clockwise |
pivot: Offset = center | The coordinates for the pivot point, defaults to the center of the coordinate space |
scale
abstract fun scale(
scaleX: Float,
scaleY: Float,
pivot: Offset = center
): Unit
Add an axis-aligned scale to the current transform, scaling by the first argument in the horizontal direction and the second in the vertical direction at the given pivot coordinate. The pivot coordinate remains unchanged by the scale transformation.
Parameters | |
---|---|
scaleX: Float | The amount to scale in X |
scaleY: Float | The amount to scale in Y |
pivot: Offset = center | The coordinate for the pivot point, defaults to the center of the coordinate space |
transform
abstract fun transform(matrix: Matrix): Unit
Transform the drawing environment by the given matrix
Parameters | |
---|---|
matrix: Matrix | transformation matrix used to transform the drawing environment |
translate
abstract fun translate(
left: Float