mirror of
https://github.com/bitsycore/compose-desktop-native.git
synced 2026-10-05 10:47:26 +00:00
Picks up the file/type renames (SDL3Backend -> Sdl3Backend, SDL3FrameClock ->
Sdl3FrameClock, SDL3EventMapper.kt -> AppEvent.kt) and unifies the 15 references
the rename left behind. All were prose or strings, which is why it still
compiled:
- a user-visible error message ("SDL3Backend received GpuMode.Auto ...")
- two user-visible demo UI strings ("driven by the SDL3FrameClock ...")
- the MARK headers in AppEvent.kt and Sdl3Backend.kt
- KDoc cross-references, including to `SDL3EventMapper.kt` which no longer
exists - repointed at AppEvent.kt
- 3 PLAN.md references
The codebase now uses Sdl3* uniformly, matching the Sdl3MainDispatcher /
Sdl3Clipboard / Sdl3DragAndDropOwner / Sdl3ScrollConfig that already followed
that form. `sdl3.*` (the cinterop package) and SDL_* (the C API) are untouched.
API dumps regenerated: a clean 1:1 rename, 41 SDL3Backend -> 41 Sdl3Backend in
:ui and nothing else - the other renamed types were not public. Breaking, but
com.compose.sdl only; no androidx.compose.* / org.jetbrains.compose.* change.
Verified beyond compiling: apiCheck green, both metadata publish gates compile,
nav3test/backtest/multiwintest PASS, raw SDL handles still resolve
(gpu=OpenGL window=true glContext=true), and the Images screen renders.
55 lines
1.9 KiB
Kotlin
55 lines
1.9 KiB
Kotlin
// :components-resources - the official Compose Multiplatform resources runtime
|
|
// (org.jetbrains.compose.components:components-resources), vendored because the
|
|
// Maven artifact ships no mingwX64/linux klibs. Public API is byte-for-byte
|
|
// upstream (painterResource / stringResource / Font / qualifiers / Res codegen
|
|
// compatibility); the platform actuals are this port's: data.kres reading,
|
|
// image decode via :ui's Skia decoder, SDL locale/theme environment. Apps' JVM
|
|
// targets keep using the official Maven artifact - this module is native-only.
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.kotlin.plugin.compose)
|
|
}
|
|
|
|
val vHostSupportsMingw = rootProject.extra["vHostSupportsMingw"] as Boolean
|
|
|
|
kotlin {
|
|
linuxArm64()
|
|
linuxX64()
|
|
macosArm64()
|
|
if (vHostSupportsMingw) mingwX64()
|
|
|
|
applyDefaultHierarchyTemplate()
|
|
|
|
sourceSets {
|
|
commonMain {
|
|
kotlin.srcDir("src/vendor/common/kotlin")
|
|
dependencies {
|
|
// foundation (isSystemInDarkTheme in ResourceEnvironment) pulls the
|
|
// whole ui surface + loadComposeResourceBytes + the sdl3 cinterop
|
|
// types transitively (all edges are api).
|
|
api(project(":compose:foundation:foundation"))
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
}
|
|
}
|
|
nativeMain {
|
|
kotlin.srcDir("src/vendor/native/kotlin")
|
|
// src/nativeMain/kotlin also holds the Font / Image resource actuals -
|
|
// pure project code that delegates to the project font registry
|
|
// (IconFont / NamedFont) and the :ui-graphics Skia decoder
|
|
// (decodeEncodedImageBitmap). Skiko-free, so a single native set covers
|
|
// every target.
|
|
}
|
|
}
|
|
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll(
|
|
"-Xexpect-actual-classes",
|
|
// Upstream's library build opts the whole module into its own
|
|
// annotations; the vendored files rely on that.
|
|
"-opt-in=org.jetbrains.compose.resources.InternalResourceApi",
|
|
"-opt-in=org.jetbrains.compose.resources.ExperimentalResourceApi",
|
|
)
|
|
}
|
|
}
|