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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! Shared datatypes for azul-* crates
extern crate core;
extern crate alloc;
extern crate azul_css;
/// Useful macros for implementing Azul APIs without duplicating code
/// Unified debug logging system
/// Type definitions for various types of callbacks plus focus and scroll handling
/// `Dom` construction, `NodeData` and `NodeType` management functions
/// Unified drag context for text selection, scrollbar, node, and window drags
/// Icon system for loading and resolving icons from fonts, images, or zip packs
/// Type definitions for Glyphs
/// Functions to manage adding fonts + images, garbage collection
/// Primitives for cursor and text selection handling
/// Algorithms to create git-like diffs between two doms in linear time
/// Animation system
/// Event handling (mouse, keyboard, window events)
/// Geometry module for physical and logical sizes
/// Contains OpenGL helper functions (to compile / link shaders)
/// FXAA (Fast Approximate Anti-Aliasing) shader implementation
/// OpenGL constants
/// GPU value synchronization (colors, transforms) for WebRender preparation
/// Hit-testing module
/// Type-safe hit-test tag system for WebRender integration
/// Internal, arena-based storage for Dom nodes
/// Types for handling menus (context menu, menubar)
/// Cache for CSS Properties
/// Compact cache builder: CssPropertyCache → CompactLayoutCache
/// Type-erased reference wrapper (like `Box<dyn Any>` but for references)
/// CSS cascading module
/// `StyledDom` = CSSOM
/// SVG module
/// Async (task, thread, timer) helper functions
/// CSS transform computation
/// User-agent default stylesheet
/// Handles the UI layout and UI layout solver
/// Window creation / interaction with the OS' windowing API
/// XML structures
// Typedef for possible faster implementation of hashing
pub type FastHashMap<T, U> = BTreeMap;
pub type FastBTreeSet<T> = BTreeSet;