in sample/src/main/kotlin/org/jetbrains/desktop/sample/win32/SkikoWindowWin32.kt [48:94]
open fun handleEvent(event: Event): EventHandlerResult {
return when (event) {
is Event.WindowDraw -> with(event) {
performDrawing(size, scale)
EventHandlerResult.Stop
}
is Event.NCCalcSize -> with(event) {
performDrawing(size, scale)
EventHandlerResult.Stop
}
is Event.KeyDown -> {
when (event.keyCode) {
VirtualKey.S -> {
val screens = Screen.allScreens()
for (screen in screens) {
Logger.debug { "Screen: $screen" }
}
val currentScreen = window.getScreen()
Logger.debug { "Current screen: $currentScreen" }
}
VirtualKey.T -> {
window.setTitle("New Title")
}
VirtualKey.C -> {
window.setCursor(CursorIcon.Hand)
}
}
EventHandlerResult.Continue
}
is Event.SystemAppearanceChange -> with(event) {
Logger.debug { "Setting change: new appearance: $newAppearance" }
val enableImmersiveDarkMode = newAppearance == Appearance.Dark
window.setImmersiveDarkMode(enableImmersiveDarkMode)
EventHandlerResult.Stop
}
is Event.WindowTitleChanged -> with(event) {
Logger.debug { "New window title: $title" }
EventHandlerResult.Continue
}
else -> EventHandlerResult.Continue
}
}