58 lines
2.1 KiB
Rust
58 lines
2.1 KiB
Rust
//! Shared explicit-construction UI substrate for RUIN.
|
|
//!
|
|
//! This crate intentionally starts with explicit Rust data construction rather than a proc-macro
|
|
//! authoring layer. The goal is to validate the threading, windowing, and scene handoff model
|
|
//! before committing to ergonomic surface syntax. Concrete platform and renderer backends live in
|
|
//! sibling crates.
|
|
|
|
pub(crate) mod trace_targets {
|
|
pub const PLATFORM: &str = "ruin_ui::platform";
|
|
pub const SCENE: &str = "ruin_ui::scene";
|
|
#[allow(dead_code)]
|
|
pub const TEXT_PERF: &str = "ruin_ui::text_perf";
|
|
}
|
|
|
|
mod image;
|
|
mod interaction;
|
|
mod keyboard;
|
|
mod layout;
|
|
mod platform;
|
|
mod runtime;
|
|
mod scene;
|
|
mod text;
|
|
mod tree;
|
|
mod window;
|
|
|
|
pub use image::{ImageFit, ImageResource, ImageResourceError};
|
|
pub use interaction::{
|
|
PointerButton, PointerEvent, PointerEventKind, PointerRouter, RoutedPointerEvent,
|
|
RoutedPointerEventKind,
|
|
};
|
|
pub use keyboard::{KeyboardEvent, KeyboardEventKind, KeyboardKey, KeyboardModifiers};
|
|
pub use layout::{
|
|
HitTarget, InteractionTree, LayoutCache, LayoutNode, LayoutPath, LayoutSnapshot, ScrollMetrics,
|
|
TextHitTarget, layout_snapshot, layout_snapshot_with_cache, layout_snapshot_with_text_system,
|
|
};
|
|
pub use layout::{layout_scene, layout_scene_with_text_system};
|
|
pub use platform::{
|
|
PlatformClosed, PlatformEndpoint, PlatformEvent, PlatformProxy, PlatformRequest,
|
|
PlatformRuntime, start_headless,
|
|
};
|
|
pub use runtime::{EventStreamClosed, UiRuntime, WindowController};
|
|
pub use scene::{
|
|
ClipRegion, Color, DisplayItem, GlyphInstance, Point, PreparedImage, PreparedText,
|
|
PreparedTextLine, Quad, Rect, RoundedRect, SceneSnapshot, ShadowRect, TextLayoutData,
|
|
Translation, UiSize,
|
|
};
|
|
pub use text::{
|
|
TextAlign, TextFontFamily, TextSelectionStyle, TextSpan, TextSpanSlant, TextSpanWeight,
|
|
TextStyle, TextSystem, TextWrap,
|
|
};
|
|
pub use tree::{
|
|
Border, BoxShadow, BoxShadowKind, CornerRadius, CursorIcon, Edges, Element, ElementId,
|
|
FlexDirection, ScrollbarStyle, Style,
|
|
};
|
|
pub use window::{
|
|
DecorationMode, WindowConfigured, WindowId, WindowLifecycle, WindowSpec, WindowUpdate,
|
|
};
|