azul_core/lib.rs
1//! Shared datatypes for azul-* crates
2
3extern crate azul_css;
4#[cfg(feature = "opengl")]
5extern crate gleam;
6#[cfg(feature = "css_parser")]
7extern crate azul_css_parser;
8
9/// Useful macros for implementing Azul APIs without duplicating code
10#[macro_use]
11pub mod macros;
12/// Type definitions for various types of callbacks, as well as focus and scroll handling
13#[macro_use]
14pub mod callbacks;
15/// Functions to manage adding fonts + images, garbage collection
16pub mod app_resources;
17/// Layout and display list creation algorithm, z-index reordering of a `CachedDisplayList`
18pub mod display_list;
19/// `Dom` construction, `NodeData` and `NodeType` management functions
20pub mod dom;
21/// Algorithms to create git-like diffs between two doms in linear time
22pub mod diff;
23/// Contains OpenGL helper functions (to compile / link shaders), `VirtualGlDriver` for unit testing
24#[cfg(feature = "opengl")]
25pub mod gl;
26/// Internal, arena-based storage for Dom nodes
27pub mod id_tree;
28/// CSS cascading module
29pub mod style;
30/// Main `Layout` and `GetTextLayout` trait definition
31pub mod traits;
32/// Async (task, thread, timer) helper functions
33pub mod task;
34/// `UiDescription` = CSSOM, cascading
35pub mod ui_description;
36/// Contains functions to build the `Dom`
37pub mod ui_state;
38/// Handles the UI layout and UI layout solver
39pub mod ui_solver;
40/// Window creation / interaction with the OS' windowing API
41pub mod window;
42/// Window state handling / synchronization
43pub mod window_state;
44
45// Typedef for possible faster implementation of hashing
46pub type FastHashMap<T, U> = ::std::collections::HashMap<T, U>;
47pub type FastHashSet<T> = ::std::collections::HashSet<T>;