Neon/ui/src/jvmMain/kotlin/moe/lava/neon/main.kt

30 lines
967 B
Kotlin
Raw Normal View History

2026-01-23 17:07:47 +11:00
package moe.lava.neon
2026-01-31 14:55:36 +11:00
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Density
2026-01-23 17:07:47 +11:00
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
2026-01-23 19:05:25 +11:00
import moe.lava.neon.ui.App
2026-01-23 17:07:47 +11:00
2026-01-31 14:55:36 +11:00
// The UI is designed with touchscreens in mind; on desktop elements may look gigantic
// So scale them down a bit
const val scaleFactor = 0.75f
2026-01-23 17:07:47 +11:00
fun main() = application {
Window(
onCloseRequest = ::exitApplication,
title = "Neon",
) {
2026-01-31 14:55:36 +11:00
val systemScale = System.getenv("GDK_SCALE")?.toFloatOrNull() ?: 1f
val systemDpiScale = System.getenv("GDK_DPI_SCALE")?.toFloatOrNull() ?: 1f
val density = Density(
density = LocalDensity.current.density * systemScale * scaleFactor,
fontScale = systemDpiScale
)
CompositionLocalProvider(LocalDensity provides density) {
App()
}
2026-01-23 17:07:47 +11:00
}
2026-01-23 19:05:25 +11:00
}