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;
10#[macro_use]
11extern crate azul_css;
12
13/// Useful macros for implementing Azul APIs without duplicating code
14#[macro_use]
15pub mod macros;
16/// Unified debug logging system
17#[macro_use]
18pub mod debug;
19/// Type definitions for various types of callbacks plus focus and scroll handling
20#[macro_use]
21pub mod callbacks;
22/// `Dom` construction, `NodeData` and `NodeType` management functions
23pub mod dom;
24/// Table layout support (anonymous box generation)
25pub mod dom_table;
26/// Unified drag context for text selection, scrollbar, node, and window drags
27pub mod drag;
28/// Icon system for loading and resolving icons from fonts, images, or zip packs
29pub mod icon;
30/// Type definitions for Glyphs
31pub mod glyph;
32/// Functions to manage adding fonts + images, garbage collection
33pub mod resources;
34/// Primitives for cursor and text selection handling
35pub mod selection;
36/// Algorithms to create git-like diffs between two doms in linear time
37pub mod diff;
38/// Animation system
39pub mod animation;
40/// Event handling (mouse, keyboard, window events)
41pub mod events;
42/// Geometry module for physical and logical sizes
43pub mod geom;
44/// Contains OpenGL helper functions (to compile / link shaders)
45pub mod gl;
46/// FXAA (Fast Approximate Anti-Aliasing) shader implementation
47pub mod gl_fxaa;
48/// OpenGL constants
49pub mod glconst;
50/// GPU value synchronization (colors, transforms) for WebRender preparation
51pub mod gpu;
52/// Hit-testing module
53pub mod hit_test;
54/// Type-safe hit-test tag system for WebRender integration
55pub mod hit_test_tag;
56/// Internal, arena-based storage for Dom nodes
57pub mod id;
58/// Types for handling menus (context menu, menubar)
59pub mod menu;
60/// Cache for CSS Properties
61pub mod prop_cache;
62/// Type-erased reference wrapper (like `Box<dyn Any>` but for references)
63pub mod refany;
64/// CSS cascading module
65pub mod style;
66/// `StyledDom` = CSSOM
67pub mod styled_dom;
68/// SVG module
69pub mod svg;
70/// Async (task, thread, timer) helper functions
71pub mod task;
72/// CSS transform computation
73pub mod transform;
74/// User-agent default stylesheet
75pub mod ua_css;
76/// Handles the UI layout and UI layout solver
77pub mod ui_solver;
78/// Window creation / interaction with the OS' windowing API
79pub mod window;
80/// XML structures
81pub mod xml;
82
83// Typedef for possible faster implementation of hashing
84pub type FastHashMap<T, U> = alloc::collections::BTreeMap<T, U>;
85pub type FastBTreeSet<T> = alloc::collections::BTreeSet<T>;