Package-level declarations

Overview

Hosts the main application entry point and desktop GUI components. The application integrates with the core game logic and storage system while providing a rich user interface for playing Reversi.

Key Classes

  • Main — Application entry point and window setup

  • MenuBar — Top menu bar for the application window

  • ScaffoldView — Main scaffold structure that hosts all pages

  • Game UI Components — Interactive board rendering and move handling

  • State Management — ViewModel-based state management for game session

Responsibilities

  • Providing an interactive desktop GUI for the Reversi game

  • Managing UI state and user interactions

  • Coordinating with the core game logic and storage modules

  • Handling player input and rendering the game board

  • Managing window structure and navigation between pages

Functions

Link copied to clipboard
fun main(args: Array<String>)

Entry point for the desktop Reversi application. Initializes app dependencies and launches the Compose window with the current AppState.

Link copied to clipboard
@Composable
fun FrameWindowScope.MakeMenuBar(appState: AppStateImpl, scope: CoroutineScope, windowState: WindowState, setPage: (Page) -> Unit, setGame: (Game) -> Unit, setTheme: (AppTheme) -> Unit, setGlobalError: (Exception?, ErrorType?) -> Unit, exitAction: () -> Unit)

Creates the application menu bar with File, View, Dev, and Help menus. Provides navigation to different pages and application controls.

Link copied to clipboard
@Composable
fun ReversiScope.ScaffoldView(setError: (Exception?, ErrorType?) -> Unit, backgroundTopBar: Color = Color.Transparent, error: ReversiException?, isLoading: Boolean = false, title: String = "", loadingModifier: Modifier = Modifier, previousPageContent: @Composable ReversiScope.() -> Unit, content: @Composable ReversiScope.(paddingValues: PaddingValues) -> Unit)

Main scaffold composable providing consistent layout structure for pages. Includes top app bar with title and navigation, content area, and error handling.