diff --git a/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/style/Decoration.kt b/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/style/Decoration.kt index 04c6fab717..9cc6a8619b 100755 --- a/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/style/Decoration.kt +++ b/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/style/Decoration.kt @@ -18,6 +18,8 @@ package example.imageviewer.style import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.ImageAsset import androidx.compose.ui.res.imageResource +import java.awt.image.BufferedImage +import javax.imageio.ImageIO @Composable fun icEmpty(): ImageAsset = imageResource("images/empty.png") @@ -51,3 +53,22 @@ fun icFilterBlurOff(): ImageAsset = imageResource("images/blur_off.png") @Composable fun icFilterUnknown(): ImageAsset = imageResource("images/filter_unknown.png") + +private var icon: BufferedImage? = null +fun icAppRounded(): BufferedImage { + if (icon != null) { + return icon!! + } + try { + val imageRes = "images/ic_imageviewer_round.png" + val img = Thread.currentThread().contextClassLoader.getResource(imageRes) + val bitmap: BufferedImage? = ImageIO.read(img) + if (bitmap != null) { + icon = bitmap + return bitmap + } + } catch (e: Exception) { + e.printStackTrace() + } + return BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB) +} diff --git a/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/view/MainScreen.kt b/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/view/MainScreen.kt index 4e0c342378..1a1301a228 100755 --- a/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/view/MainScreen.kt +++ b/examples/imageviewer/common/src/desktopMain/kotlin/example/imageviewer/view/MainScreen.kt @@ -163,18 +163,8 @@ fun setTitleBar(text: String, content: ContentState) { @Composable fun setPreviewImageUI(content: ContentState) { - val previewImageHover = remember { mutableStateOf(false) } Clickable( - modifier = Modifier.hover( - onEnter = { - previewImageHover.value = true - false - }, - onExit = { - previewImageHover.value = false - false - }) - .background(color = if (previewImageHover.value) PreviewImageAreaHoverColor else DarkGray), + modifier = Modifier.background(color = DarkGray), onClick = { AppState.screenState(ScreenType.FullscreenImage) }) { diff --git a/examples/imageviewer/common/src/desktopMain/resources/images/ic_imageviewer_round.png b/examples/imageviewer/common/src/desktopMain/resources/images/ic_imageviewer_round.png new file mode 100755 index 0000000000..1843b0f85b Binary files /dev/null and b/examples/imageviewer/common/src/desktopMain/resources/images/ic_imageviewer_round.png differ diff --git a/examples/imageviewer/desktop/src/main/kotlin/imageviewer/Main.kt b/examples/imageviewer/desktop/src/main/kotlin/imageviewer/Main.kt index fd5c29f596..dca7357f8f 100755 --- a/examples/imageviewer/desktop/src/main/kotlin/imageviewer/Main.kt +++ b/examples/imageviewer/desktop/src/main/kotlin/imageviewer/Main.kt @@ -20,6 +20,7 @@ import example.imageviewer.utils.getPreferredWindowSize import example.imageviewer.view.BuildAppUI import example.imageviewer.model.ContentState import example.imageviewer.model.ImageRepository +import example.imageviewer.style.icAppRounded fun main() { @@ -27,7 +28,11 @@ fun main() { "https://spvessel.com/iv/images/fetching.list" ) - AppWindow("ImageViewer", getPreferredWindowSize(800, 1000)).show { + AppWindow( + title = "ImageViewer", + size = getPreferredWindowSize(800, 1000), + icon = icAppRounded() + ).show { BuildAppUI(content) } -} \ No newline at end of file +}