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.