Painter

abstract class Painter
kotlin.Any
   ↳ androidx.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

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

Apply the provided color filter returning true if it was applied successfully, or false if it could not be applied

open Boolean

Apply the appropriate internal configuration to positioning content with the given LayoutDirection

abstract Unit

Implementation of drawing logic for instances of Painter.

Extension functions

From androidx.ui.core
DrawModifier
Painter.asModifier(sizeToIntrinsics: Boolean = true, alignment: Alignment = Alignment.Center, contentScale: ContentScale = ContentScale.Inside, alpha: Float = DefaultAlpha, colorFilter: ColorFilter? = null, rtl: Boolean = false)

Create a DrawModifier from this 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.UnspecifiedSize. 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