Painter
abstract class Painter
kotlin.Any | |
↳ | androidx.compose.ui.graphics.painter.Painter |
Abstraction for something that can be drawn. In addition to providing the ability to draw into a specified bounded area, Painter provides a few high level mechanisms that consumers can use to configure how the content is drawn. These include alpha, ColorFilter, and RTL
Implementations should provide a meaningful equals method that compares values of different Painter subclasses and not rely on just referential equality
Summary
Public constructors | |
---|---|
<init>() Abstraction for something that can be drawn. |
Public methods | |
---|---|
Unit |
DrawScope.draw(size: Size, alpha: Float = DefaultAlpha, colorFilter: ColorFilter? = null) |
Protected methods | |
---|---|
open Boolean |
applyAlpha(alpha: Float) Apply the provided alpha value returning true if it was applied successfully, or false if it could not be applied |
open Boolean |
applyColorFilter(colorFilter: ColorFilter?) Apply the provided color filter returning true if it was applied successfully, or false if it could not be applied |
open Boolean |
applyLayoutDirection(layoutDirection: LayoutDirection) Apply the appropriate internal configuration to positioning content with the given LayoutDirection |
abstract Unit |
Implementation of drawing logic for instances of Painter. |
Properties | |
---|---|
abstract Size |
Return the intrinsic size of the Painter. |
Public constructors
<init>
Painter()
Abstraction for something that can be drawn. In addition to providing the ability to draw into a specified bounded area, Painter provides a few high level mechanisms that consumers can use to configure how the content is drawn. These include alpha, ColorFilter, and RTL
Implementations should provide a meaningful equals method that compares values of different Painter subclasses and not rely on just referential equality
Public methods
draw
fun DrawScope.draw(
size: Size,
alpha: Float = DefaultAlpha,
colorFilter: ColorFilter? = null
): Unit
Protected methods
applyAlpha
protected open fun applyAlpha(alpha: Float): Boolean
Apply the provided alpha value returning true if it was applied successfully, or false if it could not be applied
applyColorFilter
protected open fun applyColorFilter(colorFilter: ColorFilter?): Boolean
Apply the provided color filter returning true if it was applied successfully, or false if it could not be applied
applyLayoutDirection
protected open fun applyLayoutDirection(layoutDirection: LayoutDirection): Boolean
Apply the appropriate internal configuration to positioning content with the given LayoutDirection
onDraw
protected abstract fun DrawScope.onDraw(): Unit
Implementation of drawing logic for instances of Painter. This is invoked internally within draw after the positioning and configuring the Painter
Properties
intrinsicSize
abstract val intrinsicSize: Size
Return the intrinsic size of the Painter. If the there is no intrinsic size (i.e. filling bounds with an arbitrary color) return Size.Unspecified. If there is no intrinsic size in a single dimension, return Size with Float.POSITIVE_INFINITY in the desired dimension. If a Painter does not have an intrinsic size, it will always draw within the full bounds of the destination