From eed7fca895bd947ad2af53fc87279613b2e14abc Mon Sep 17 00:00:00 2001 From: Kyant0 Date: Tue, 2 Dec 2025 16:19:31 +0800 Subject: [PATCH] Fix #60 --- backdrop/build.gradle.kts | 2 +- .../java/com/kyant/backdrop/LayerRecorder.kt | 23 ++++++++----------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/backdrop/build.gradle.kts b/backdrop/build.gradle.kts index 66ba243..dcae9b0 100644 --- a/backdrop/build.gradle.kts +++ b/backdrop/build.gradle.kts @@ -46,7 +46,7 @@ mavenPublishing { publishToMavenCentral() signAllPublications() - coordinates("io.github.kyant0", "backdrop", "1.0.0") + coordinates("io.github.kyant0", "backdrop", "1.0.1") pom { name.set("Backdrop") diff --git a/backdrop/src/main/java/com/kyant/backdrop/LayerRecorder.kt b/backdrop/src/main/java/com/kyant/backdrop/LayerRecorder.kt index 51ab435..82623b0 100644 --- a/backdrop/src/main/java/com/kyant/backdrop/LayerRecorder.kt +++ b/backdrop/src/main/java/com/kyant/backdrop/LayerRecorder.kt @@ -1,7 +1,6 @@ package com.kyant.backdrop import androidx.compose.ui.graphics.drawscope.DrawScope -import androidx.compose.ui.graphics.drawscope.draw import androidx.compose.ui.graphics.layer.GraphicsLayer import androidx.compose.ui.node.DelegatableNode import androidx.compose.ui.node.requireDensity @@ -14,18 +13,14 @@ internal fun DrawScope.recordLayer( size: IntSize = this.size.toIntSize(), block: DrawScope.() -> Unit ) { - layer.record( - density = node.requireDensity(), - layoutDirection = layoutDirection, - size = size - ) { - this@recordLayer.draw( - density = drawContext.density, - layoutDirection = drawContext.layoutDirection, - canvas = drawContext.canvas, - size = drawContext.size, - graphicsLayer = drawContext.graphicsLayer, - block = block - ) + val density = node.requireDensity() + layer.record(size) { + val prevDensity = drawContext.density + drawContext.density = density + try { + this.block() + } finally { + drawContext.density = prevDensity + } } }