summaryrefslogtreecommitdiff
path: root/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app
diff options
context:
space:
mode:
Diffstat (limited to 'composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app')
-rw-r--r--composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/App.kt24
-rw-r--r--composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/ui/Theme.kt32
2 files changed, 56 insertions, 0 deletions
diff --git a/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/App.kt b/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/App.kt
new file mode 100644
index 0000000..50e72f0
--- /dev/null
+++ b/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/App.kt
@@ -0,0 +1,24 @@
+package coffee.liz.abstractionengine.app
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.*
+import androidx.compose.ui.Modifier
+import coffee.liz.abstractionengine.app.ui.GameBoyTheme
+import coffee.liz.abstractionengine.getPlatform
+import org.jetbrains.compose.ui.tooling.preview.Preview
+
+@Composable
+@Preview
+fun App() {
+
+ MaterialTheme(colorScheme = GameBoyTheme) {
+ Box(modifier = Modifier.fillMaxSize()) {
+ if (getPlatform().needsTouchscreenControls) {
+ Text("NEEDS TOUCHSCREEN CONTROLS")
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/ui/Theme.kt b/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/ui/Theme.kt
new file mode 100644
index 0000000..be6c3ad
--- /dev/null
+++ b/composeApp/src/commonMain/kotlin/coffee/liz/abstractionengine/app/ui/Theme.kt
@@ -0,0 +1,32 @@
+package coffee.liz.abstractionengine.app.ui
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.ui.graphics.Color
+
+// GameBoy-inspired color palette
+object GameBoyColors {
+ val DarkestGreen = Color(0xFF0F380F)
+ val DarkGreen = Color(0xFF306230)
+ val MediumGreen = Color(0xFF8BAC0F)
+ val LightGreen = Color(0xFF9BBC0F)
+ val ScreenGreen = Color(0xFF8BAC0F)
+
+ // Accent colors for buttons (still retro but with more variety)
+ val ButtonRed = Color(0xFFE76F51)
+ val ButtonYellow = Color(0xFFF4A261)
+ val DPadGray = Color(0xFF4A5759)
+ val DPadLight = Color(0xFF6B7F82)
+}
+
+val GameBoyTheme = darkColorScheme(
+ primary = GameBoyColors.MediumGreen,
+ onPrimary = GameBoyColors.DarkestGreen,
+ secondary = GameBoyColors.LightGreen,
+ onSecondary = GameBoyColors.DarkestGreen,
+ background = GameBoyColors.DarkestGreen,
+ onBackground = GameBoyColors.LightGreen,
+ surface = GameBoyColors.DarkGreen,
+ onSurface = GameBoyColors.LightGreen,
+ surfaceVariant = GameBoyColors.DPadGray,
+ outline = GameBoyColors.DarkestGreen,
+)