azul_core/
lib.rs

1//! Shared datatypes for azul-* crates
2
3#![cfg_attr(not(feature = "std"), no_std)]
4#![allow(warnings)]
5
6#[macro_use]
7extern crate core;
8#[macro_use]
9extern crate alloc;
10extern crate libm;
11#[macro_use]
12extern crate azul_css;
13extern crate gl_context_loader;
14
15/// Useful macros for implementing Azul APIs without duplicating code
16#[macro_use]
17pub mod macros;
18/// Type definitions for various types of callbacks, as well as focus and scroll handling
19#[macro_use]
20pub mod callbacks;
21/// Functions to manage adding fonts + images, garbage collection
22pub mod app_resources;
23/// Contains functions to format a CSS stylesheet to a Rust string
24pub mod css;
25/// Layout and display list creation algorithm, z-index reordering of a `CachedDisplayList`
26pub mod display_list;
27/// `Dom` construction, `NodeData` and `NodeType` management functions
28pub mod dom;
29/// Functions to paginate a DOM into multiple pages (sub-DOMs) for printing
30pub mod pagination;
31// Algorithms to create git-like diffs between two doms in linear time
32// pub mod diff;
33/// Contains OpenGL helper functions (to compile / link shaders), `VirtualGlDriver` for unit testing
34pub mod gl;
35/// Internal, arena-based storage for Dom nodes
36pub mod id_tree;
37/// CSS cascading module
38pub mod style;
39/// `StyledDom` = CSSOM
40pub mod styled_dom;
41/// SVG module
42pub mod svg;
43/// Async (task, thread, timer) helper functions
44pub mod task;
45/// Main `Layout` and `GetTextLayout` trait definition
46pub mod traits;
47/// Handles the UI layout and UI layout solver
48pub mod ui_solver;
49/// Window creation / interaction with the OS' windowing API
50pub mod window;
51/// Window state handling / synchronization
52pub mod window_state;
53/// XML structures
54pub mod xml;
55
56// Typedef for possible faster implementation of hashing
57pub type FastHashMap<T, U> = alloc::collections::BTreeMap<T, U>;
58pub type FastBTreeSet<T> = alloc::collections::BTreeSet<T>;