Skip to main content

ravenrs_core/
lib.rs

1//! Foundation types shared by every RavenRS crate.
2//!
3//! `ravenrs-core` has no dependencies. It defines logical-pixel geometry, colors,
4//! platform-neutral input events, [`Scene`] (the display list that widgets
5//! produce and renderers consume) and [`AccessTree`] (what assistive technology
6//! sees). Keeping them here lets widgets stay independent of any GPU or
7//! operating-system API. [`csv`] is here because the grid and the report
8//! exporters share nothing else lower down.
9
10mod access;
11mod color;
12pub mod csv;
13mod diagnostics;
14mod event;
15mod geometry;
16mod scene;
17mod storage;
18
19pub use access::{AccessAction, AccessNode, AccessTree, NumericValue, Role, Toggled};
20pub use color::Color;
21pub use diagnostics::{
22    AdapterReport, Bottleneck, BuildCause, BuildCauses, DiagnosticFinding, DiagnosticReport, FrameLog,
23    FrameSample, FrameSummary, FrameWork, GpuReport, MAX_ISSUE_URL, Percentiles, PerformanceResult,
24    PerformanceVerdict, PhaseTimes, RenderWork, SurfaceReport, SystemReport, ViewCost, new_issue_url,
25    redact_user_paths,
26};
27pub use event::{CursorIcon, Event, Key, Modifiers, PointerButton};
28pub use geometry::{Insets, Point, Rect, Size, monotone_slopes};
29pub use scene::{
30    Border, Brush, ColorStop, Effect, FillRule, FontRef, GlyphRun, ImageData, ImageQuad, LinearGradient,
31    PathClip, PathElement, PathFill, PathPaint, PositionedGlyph, Primitive, Quad, Scene, Shadow,
32};
33#[cfg(not(target_arch = "wasm32"))]
34pub use storage::FileStorage;
35pub use storage::{MemoryStorage, Storage};