Skip to content

Commit e334a9e

Browse files
committed
fix: let FullscreenProvider have an interface
1 parent 1ca7937 commit e334a9e

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/main/kotlin/dev/silenium/multimedia/compose/util/FullscreenProvider.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@ import androidx.compose.runtime.staticCompositionLocalOf
77
import androidx.compose.ui.window.WindowPlacement
88
import androidx.compose.ui.window.WindowState
99

10-
class FullscreenProvider {
11-
var isFullscreen by mutableStateOf(false)
10+
interface FullscreenProvider {
11+
val isFullscreen: Boolean
12+
val windowState: WindowState
13+
fun toggleFullscreen()
14+
}
15+
16+
class DesktopFullscreenProvider : FullscreenProvider {
17+
override var isFullscreen by mutableStateOf(false)
1218
private set
13-
val windowState = WindowState()
19+
override val windowState = WindowState()
1420

1521
@Synchronized
16-
fun toggleFullscreen() {
22+
override fun toggleFullscreen() {
1723
isFullscreen = !isFullscreen
1824
windowState.placement = if (isFullscreen) WindowPlacement.Fullscreen else WindowPlacement.Floating
1925
}
2026
}
2127

22-
val LocalFullscreenProvider = staticCompositionLocalOf { FullscreenProvider() }
28+
val LocalFullscreenProvider = staticCompositionLocalOf { DesktopFullscreenProvider() }

0 commit comments

Comments
 (0)