Package-level declarations

Overview

Contains the core application infrastructure, theme management, and global state management for the Reversi desktop app.

Key Components

  • App — Main application composable and setup

  • AppTheme — Theme configuration interface with color schemes, fonts, and resource definitions

  • AppThemes — Collection of predefined themes (default, dark, light themes)

  • AppState — Interface for managing global application state

  • AppStateImpl — Implementation of AppState with reactive state management

  • AppStateUtils — Helper utilities for state operations

  • ReversiScope — Coroutine scope management for async operations

Responsibilities

  • Initializing and managing application-wide state

  • Providing theme configurations and switching

  • Managing coroutine scopes for background operations

  • Coordinating between different pages and view models

  • Handling application lifecycle events

Types

Link copied to clipboard
class App(args: Array<String>)
Link copied to clipboard
data class AppTheme(val name: String, val fontFamily: @Composable () -> FontFamily, val backgroundMusic: String = "background-music", val gameMusic: String = "MEGALOVANIA", val placePieceSound: String = "putPiece", val textColor: Color = Color(0xFF000000), val backgroundImage: DrawableResource? = null, val backgroundColor: Color = Color(0xFFFFFFFF), val buttonTextColor: Color = Color(0xFFFFFFFF), val primaryColor: Color = Color(0xFF1976D2), val secondaryColor: Color = Color(0xFFFE4E4E), val boardColor: Color = Color(0xFF009000), val boardBgColor: Color = Color(0xFF006400), val boardSideColor: Color = Color(0xFF000000), val darkPieceColor: Color = Color(0xFF000000), val lightPieceColor: Color = Color(0xFFFFFFFF))

Data class representing a theme configuration for the Reversi application. Contains colors for UI elements and audio resources for different game states.

Link copied to clipboard
enum AppThemes(val appTheme: AppTheme) : Enum<AppThemes>

Enumeration of all available application themes. Each theme provides a complete color scheme and audio configuration.

Properties

Link copied to clipboard
private val benficaTheme: AppTheme
Link copied to clipboard
Link copied to clipboard
private val darkTheme: AppTheme
Link copied to clipboard
private val lightTheme: AppTheme
Link copied to clipboard
private val matrixTheme: AppTheme
Link copied to clipboard
private val nordTheme: AppTheme
Link copied to clipboard

Polish Cow meme-inspired theme with black and white colors and pixel font.

Functions

Link copied to clipboard
@Composable
fun createMinecraftFontFamily(): FontFamily
Link copied to clipboard
@Composable
fun createMontserratFontFamily(): FontFamily