From 3803f14160c30ac470bc957f8a0f2dbe67c4fd57 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Fri, 13 Nov 2026 16:40:02 -0800 Subject: Added full builds --- ui/src/commonMain/kotlin/coffee/liz/rookery/ui/Penguin.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ui/src/commonMain/kotlin/coffee') diff --git a/ui/src/commonMain/kotlin/coffee/liz/rookery/ui/Penguin.kt b/ui/src/commonMain/kotlin/coffee/liz/rookery/ui/Penguin.kt index 5dca583..4a77f33 100644 --- a/ui/src/commonMain/kotlin/coffee/liz/rookery/ui/Penguin.kt +++ b/ui/src/commonMain/kotlin/coffee/liz/rookery/ui/Penguin.kt @@ -35,6 +35,7 @@ import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.drawscope.rotate import androidx.compose.ui.graphics.drawscope.translate +import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.semantics.clearAndSetSemantics @@ -82,6 +83,18 @@ fun DrawScope.drawPenguin(sheet: ImageBitmap, cell: Pair, at: Offset, ) } +/** The alert penguin as the app's window icon, redrawn at whatever size the window system asks for. */ +@Composable +fun rememberPenguinIcon(): Painter { + val sheet = penguinSheet() + return remember(sheet) { + object : Painter() { + override val intrinsicSize = Size(SPRITE.toFloat(), SPRITE.toFloat()) + override fun DrawScope.onDraw() = drawPenguin(sheet, PenguinAnim.ALERT.frames.first(), Offset.Zero, size.minDimension) + } + } +} + /** A single penguin doing one thing. */ @Composable fun Penguin(anim: PenguinAnim, size: Dp = 64.dp, reducedMotion: Boolean = false, modifier: Modifier = Modifier, frameMs: Long = 220) { -- cgit v1.3