Skip to main content

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/// Unified drag context for text selection, scrollbar, node, and window drags
25pub mod drag;
26/// Icon system for loading and resolving icons from fonts, images, or zip packs
27pub mod icon;
28/// Type definitions for Glyphs
29pub mod glyph;
30/// Functions to manage adding fonts + images, garbage collection
31pub mod resources;
32/// Primitives for cursor and text selection handling
33pub mod selection;
34/// Algorithms to create git-like diffs between two doms in linear time
35pub mod diff;
36/// Animation system
37pub mod animation;
38/// Event handling (mouse, keyboard, window events)
39pub mod events;
40/// Geometry module for physical and logical sizes
41pub mod geom;
42/// Contains OpenGL helper functions (to compile / link shaders)
43pub mod gl;
44/// FXAA (Fast Approximate Anti-Aliasing) shader implementation
45pub mod gl_fxaa;
46/// OpenGL constants
47pub mod glconst;
48/// GPU value synchronization (colors, transforms) for WebRender preparation
49pub mod gpu;
50/// Hit-testing module
51pub mod hit_test;
52/// Type-safe hit-test tag system for WebRender integration
53pub mod hit_test_tag;
54/// Internal, arena-based storage for Dom nodes
55pub mod id;
56/// Types for handling menus (context menu, menubar)
57pub mod menu;
58/// Cache for CSS Properties
59pub mod prop_cache;
60/// Compact cache builder: CssPropertyCache → CompactLayoutCache
61pub mod compact_cache_builder;
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>;