ShadowContext

Interface

Common
sealed interface ShadowContext

Class responsible for managing shadow related dependencies. This includes creation and caching of various DropShadowPainter and InnerShadowPainter instances based on the provided Shadow.

Functions

fun createInnerShadowPainter(shape: Shape, shadow: Shadow): InnerShadowPainter

Return an InnerShadowPainter instance for the provided shape and shadow. This may return a previously allocated InnerShadowPainter instance for the same parameters, for efficiency. For example, a design system that leverages shadows may have the same properties across multiple UI elements. In this case, the same dependencies for an InnerShadowPainter can be reused.

fun createDropShadowPainter(shape: Shape, shadow: Shadow): DropShadowPainter

Return a DropShadowPainter instance for the provided shape and shadow. This may return a previously allocated DropShadowPainter instance for the same parameters, for efficiency. For example, a design system that leverages shadows may have the same properties across multiple UI elements. In this case, the same dependencies for a DropShadowPainter can be reused.

fun clearCache()

Clear all previously cached InnerShadowPainter and DropShadowPainter instances alongside all other shadow dependencies.