Parcourir la source

chrome window scope

milan jurkulák il y a 2 ans
Parent
commit
bffe98cc33

+ 6 - 0
build.gradle.kts

@@ -62,6 +62,12 @@ allprojects {
         implementation(libs.slf4j.nop)
         // fuzzy search
         implementation(libs.fuzzywuzzy)
+        // sockets
+//        implementation("com.kohlschutter.junixsocket:junixsocket-core:2.3.2")
+        // x11 client
+//        implementation("com.github.moaxcp.x11:x11-client:0.18.2")
+        // jwm
+//        implementation("io.github.humbleui:jwm:0.4.8")
         // jna
 //        implementation("net.java.dev.jna:jna-platform:5.6.0")
         // dbus

+ 2 - 1
src/main/kotlin/eu/mjdev/desktop/extensions/Compose.kt

@@ -14,6 +14,7 @@ import coil3.PlatformContext
 import coil3.compose.LocalPlatformContext
 import coil3.memory.MemoryCache
 import coil3.request.CachePolicy
+import coil3.svg.SvgDecoder
 import kotlinx.coroutines.CoroutineScope
 
 object Compose {
@@ -106,7 +107,7 @@ object Compose {
     ) = ImageLoader.Builder(imageLoaderContext)
         .memoryCachePolicy(CachePolicy.ENABLED)
         .components {
-//            add(SvgDecoder.Factory())
+            add(SvgDecoder.Factory())
 //            add(GifDecoder.Factory())
         }
         .memoryCache { imageLoaderMemoryCache }

+ 0 - 1
src/main/kotlin/eu/mjdev/desktop/provider/DesktopProvider.kt

@@ -39,7 +39,6 @@ class DesktopProvider(
         }
     }
 
-
 //    val adbHandler = adbDevicesHandler(
 //        coroutineScope = scope
 //    ) { device ->

+ 8 - 8
src/main/kotlin/eu/mjdev/desktop/windows/ChromeWindow.kt

@@ -139,15 +139,15 @@ fun ChromeWindow(
         stateHelper = windowState.stateHelper,
         focusHelper = windowState.focusHelper,
         content = {
-            AnimatedVisibility(
-                animState.value,
-                enter = enterAnimation,
-                exit = exitAnimation
+            withChromeWindowScope(
+                windowState,
+                animState,
+                wnState
             ) {
-                withChromeWindowScope(
-                    windowState,
-                    animState,
-                    wnState
+                AnimatedVisibility(
+                    animState.value,
+                    enter = enterAnimation,
+                    exit = exitAnimation
                 ) {
                     content()
                 }

+ 6 - 2
src/main/kotlin/eu/mjdev/desktop/windows/ChromeWindowScope.kt

@@ -1,6 +1,7 @@
 package eu.mjdev.desktop.windows
 
 import androidx.compose.animation.core.MutableTransitionState
+import androidx.compose.runtime.Composable
 import androidx.compose.runtime.MutableState
 import androidx.compose.runtime.State
 import androidx.compose.ui.unit.Dp
@@ -63,11 +64,14 @@ class ChromeWindowScope(
         stateHelper.setPosition(position)
 
     companion object {
+        @Composable
         fun FrameWindowScope.withChromeWindowScope(
             windowState: ChromeWindowState,
             animState: State<MutableTransitionState<Boolean>>,
             windowVisibleState: MutableState<Boolean>,
-            block: ChromeWindowScope.() -> Unit
-        ) = ChromeWindowScope(this, windowState, animState, windowVisibleState).apply(block)
+            block: @Composable ChromeWindowScope.() -> Unit
+        ) = with(ChromeWindowScope(this, windowState, animState, windowVisibleState)) {
+            block()
+        }
     }
 }