1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Core primitives and library-wide contracts.
//!
//! # Coordinate System
//!
//! This framework uses a **screen coordinate system** with the origin at the **top-left corner**:
//!
//! - **X axis**: Increases from left to right (0 -> width)
//! - **Y axis**: Increases from top to bottom (0 -> height)
//!
//! ## Coordinate Conventions
//!
//! ```text
//! (0, 0) -------------> X
//! |
//! | Screen Space (pixels)
//! | Origin: Top-Left
//! |
//! v Y
//! ```
//!
//! ## Coordinate Transformations
//!
//! When working with other coordinate systems, use the helper functions:
//!
//! - `to_screen_y()`: Convert from Cartesian (bottom-left origin) to screen (top-left origin)
//! - `to_cartesian_y()`: Convert from screen (top-left origin) to Cartesian (bottom-left origin)
//! - `to_pdf_y()`: Convert from screen (top-left origin) to PDF (bottom-left origin)
//!
//! ## Module-Specific Notes
//!
//! - **Charts**: Data coordinates use Cartesian system (y increases upward), automatically converted to screen coordinates
//! - **PDF**: PDF uses bottom-left origin, converted from screen coordinates when rendering
//! - **SVG**: Uses same top-left origin as screen coordinates, no conversion needed
//! - **Widgets**: All widget positioning uses screen coordinates
pub use ;
pub use Color;
pub use Font;
pub use ;
pub use MutexExt;
pub use ;