Skip to content

Commit

Permalink
[resources] Add a resource reader and density as keys for rememberRes…
Browse files Browse the repository at this point in the history
…ourceState
  • Loading branch information
terrakok committed Apr 15, 2024
1 parent 53d9cff commit 19b4ce2
Showing 1 changed file with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private val emptyImageBitmap: ImageBitmap by lazy { ImageBitmap(1, 1) }
@Composable
fun imageResource(resource: DrawableResource): ImageBitmap {
val resourceReader = LocalResourceReader.current
val imageBitmap by rememberResourceState(resource, { emptyImageBitmap }) { env ->
val imageBitmap by rememberResourceState(resource, resourceReader, { emptyImageBitmap }) { env ->
val path = resource.getResourceItemByEnvironment(env).path
val cached = loadImage(path, resourceReader) {
ImageCache.Bitmap(it.toImageBitmap())
Expand All @@ -96,7 +96,7 @@ private val emptyImageVector: ImageVector by lazy {
fun vectorResource(resource: DrawableResource): ImageVector {
val resourceReader = LocalResourceReader.current
val density = LocalDensity.current
val imageVector by rememberResourceState(resource, { emptyImageVector }) { env ->
val imageVector by rememberResourceState(resource, resourceReader, density, { emptyImageVector }) { env ->
val path = resource.getResourceItemByEnvironment(env).path
val cached = loadImage(path, resourceReader) {
ImageCache.Vector(it.toXmlElement().toImageVector(density))
Expand All @@ -116,7 +116,7 @@ private val emptySvgPainter: Painter by lazy { BitmapPainter(emptyImageBitmap) }
private fun svgPainter(resource: DrawableResource): Painter {
val resourceReader = LocalResourceReader.current
val density = LocalDensity.current
val svgPainter by rememberResourceState(resource, { emptySvgPainter }) { env ->
val svgPainter by rememberResourceState(resource, resourceReader, density, { emptySvgPainter }) { env ->
val path = resource.getResourceItemByEnvironment(env).path
val cached = loadImage(path, resourceReader) {
ImageCache.Svg(it.toSvgElement().toSvgPainter(density))
Expand Down

0 comments on commit 19b4ce2

Please sign in to comment.