///|
pub(all) struct WindowId {
value : Int
} derive(Eq, Debug, ToJson)
///|
pub extend WindowId with Debug::{to_repr}
///|
pub extend WindowId with Eq::{not_equal, equal}
///|
pub extend WindowId with ToJson::{to_json}
///|
pub(all) enum WindowLifecyclePhase {
WindowCreated
WindowVisible
WindowFocused
WindowMinimized
WindowCloseRequested
WindowClosed
} derive(Eq, Debug, ToJson)
///|
pub extend WindowLifecyclePhase with Debug::{to_repr}
///|
pub extend WindowLifecyclePhase with Eq::{not_equal, equal}
///|
pub extend WindowLifecyclePhase with ToJson::{to_json}
///|
pub(all) struct WindowScene {
scene_id : String
payload : String
} derive(Eq, Debug, ToJson)
///|
pub extend WindowScene with Debug::{to_repr}
///|
pub extend WindowScene with Eq::{not_equal, equal}
///|
pub extend WindowScene with ToJson::{to_json}
///|
pub(all) struct WindowRecord {
id : WindowId
title : String
scene : WindowScene
metrics : @core.SurfaceMetrics
phase : WindowLifecyclePhase
primary : Bool
} derive(Eq, Debug, ToJson)
///|
pub extend WindowRecord with Debug::{to_repr}
///|
pub extend WindowRecord with Eq::{not_equal, equal}
///|
pub extend WindowRecord with ToJson::{to_json}
///|
pub(all) struct WindowOpenRequest {
title : String
scene : WindowScene
metrics : @core.SurfaceMetrics
primary : Bool
} derive(Eq, Debug, ToJson)
///|
pub extend WindowOpenRequest with Debug::{to_repr}
///|
pub extend WindowOpenRequest with Eq::{not_equal, equal}
///|
pub extend WindowOpenRequest with ToJson::{to_json}
///|
pub(all) enum WindowRequest {
OpenWindow(WindowOpenRequest)
FocusWindow(WindowId)
CloseWindow(WindowId)
ResizeWindow(WindowId, @core.SurfaceMetrics)
MinimizeWindow(WindowId)
ShowWindow(WindowId)
SetPrimaryWindow(WindowId)
} derive(Eq, Debug, ToJson)
///|
pub extend WindowRequest with Debug::{to_repr}
///|
pub extend WindowRequest with Eq::{not_equal, equal}
///|
pub extend WindowRequest with ToJson::{to_json}
///|
pub(all) enum WindowRequestResult {
WindowOpened(WindowId)
WindowUpdated(WindowId)
WindowRejected(String)
} derive(Eq, Debug, ToJson)
///|
pub extend WindowRequestResult with Debug::{to_repr}
///|
pub extend WindowRequestResult with Eq::{not_equal, equal}
///|
pub extend WindowRequestResult with ToJson::{to_json}
///|
pub(all) struct WindowRequestCompletion {
request : WindowRequest
result : WindowRequestResult
} derive(Eq, Debug, ToJson)
///|
pub extend WindowRequestCompletion with Debug::{to_repr}
///|
pub extend WindowRequestCompletion with Eq::{not_equal, equal}
///|
pub extend WindowRequestCompletion with ToJson::{to_json}
///|
pub fn WindowId::new(value : Int) -> WindowId {
{ value, }
}
///|
pub fn WindowScene::new(
scene_id~ : String,
payload? : String = "",
) -> WindowScene {
{ scene_id, payload, }
}
///|
pub fn WindowScene::main() -> WindowScene {
WindowScene::new(scene_id="main")
}
///|
pub fn WindowRecord::new(
id~ : WindowId,
title~ : String,
scene? : WindowScene = WindowScene::main(),
metrics~ : @core.SurfaceMetrics,
phase? : WindowLifecyclePhase = WindowCreated,
primary? : Bool = false,
) -> WindowRecord {
{ id, title, scene, metrics, phase, primary, }
}
///|
pub fn WindowOpenRequest::new(
title~ : String,
scene? : WindowScene = WindowScene::main(),
metrics~ : @core.SurfaceMetrics,
primary? : Bool = false,
) -> WindowOpenRequest {
{ title, scene, metrics, primary, }
}