mirror of
https://github.com/jlengrand/compose-multiplatform.git
synced 2026-03-10 08:11:20 +00:00
Fix icon setting
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
package org.jetbrains.compose.demo.widgets.platform
|
||||
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.composed
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.compose.ui.input.pointer.PointerIcon
|
||||
import androidx.compose.ui.input.pointer.pointerIcon
|
||||
import androidx.compose.ui.input.pointer.pointerMoveFilter
|
||||
import androidx.compose.ui.window.FrameWindowScope
|
||||
import java.awt.Cursor
|
||||
|
||||
val AppFrame = staticCompositionLocalOf<FrameWindowScope> { error("Undefined repository") }
|
||||
|
||||
actual fun Modifier.pointerMoveFilter(
|
||||
onEnter: () -> Boolean,
|
||||
@@ -16,18 +15,11 @@ actual fun Modifier.pointerMoveFilter(
|
||||
onMove: (Offset) -> Boolean
|
||||
): Modifier = this.pointerMoveFilter(onEnter = onEnter, onExit = onExit, onMove = onMove)
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
actual fun Modifier.cursorForHorizontalResize(): Modifier = composed {
|
||||
var isHover by remember { mutableStateOf(false) }
|
||||
|
||||
val window = AppFrame.current.window
|
||||
window.cursor = if (isHover) {
|
||||
Cursor(Cursor.E_RESIZE_CURSOR)
|
||||
} else {
|
||||
Cursor.getDefaultCursor()
|
||||
}
|
||||
|
||||
pointerMoveFilter(
|
||||
onEnter = { isHover = true; true },
|
||||
onExit = { isHover = false; true }
|
||||
)
|
||||
).pointerIcon(if (isHover) PointerIcon.Crosshair else PointerIcon.Default)
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
package org.jetbrains.compose.demo.widgets
|
||||
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.ui.unit.IntSize
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.*
|
||||
import org.jetbrains.compose.demo.widgets.platform.AppFrame
|
||||
import org.jetbrains.compose.demo.widgets.ui.MainView
|
||||
import java.awt.Dimension
|
||||
import java.awt.Toolkit
|
||||
@@ -15,9 +13,7 @@ fun main() {
|
||||
title = "Widgets Gallery",
|
||||
state = WindowState(size = WindowSize(size.width.dp, size.height.dp)),
|
||||
) {
|
||||
CompositionLocalProvider(AppFrame provides this) {
|
||||
MainView()
|
||||
}
|
||||
MainView()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user