Expand description
Shared datatypes for azul-* crates
azul-core provides the platform-independent core types used throughout
the Azul toolkit. Key modules include dom for DOM construction,
callbacks for event callback types, styled_dom for the CSSOM,
and window for OS windowing abstractions.
This crate depends on azul_css for CSS property definitions and is
consumed by azul-layout, azul-dll, and the platform shell crates.
It supports no_std environments via #![cfg_attr(not(feature = "std"), no_std)].
Modules§
- a11y
- Accessibility types for screen reader support.
- animation
- Accessibility types for screen-reader integration (AccessKit). DOM-morph animation.
- audio
- Audio POD types —
AudioConfig(stream format) +AudioFrame(interleaved f32 samples). - biometric
- Biometric-auth POD types —
BiometricKind+BiometricResult+BiometricPrompt. - callbacks
- Callback types: layout, event, timer, thread, and focus handling. Callback types for the Azul UI framework.
- camera
- Camera-capture POD types —
CaptureStreamId+CameraConfig+CameraFacing+StreamState+ … . - compact
- Converts
CssPropertyCacheinto compact three-tier numeric cache. Builder function to convert CssPropertyCache → CompactLayoutCache. - db
- SQL database POD types —
DbValue+DbRows(engine-agnostic). TheDbhandle + SQLite engine live inazul_dllbehinddb-sqlite. POD types for the SQL database surface (SUPER_PLAN_2 §4 P4.3). - debug
- Debug logging system with category filtering. Debug logging types and macros for Azul.
- diagnostics
- Linear-time DOM diffing for incremental updates. Framework diagnostics: warnings the engine emits about the app’s own DOM, recorded in-process so a test can assert on them.
- diff
- DOM Reconciliation Module
- dom
- DOM construction:
Dom,NodeData,NodeType, and the CSS-in-Rust API. Defines the core Document Object Model (DOM) structures. - drag
- Drag context for text selection, scrollbar, node, and window drags. Unified drag context for all drag operations.
- events
- Event filtering: mouse, keyboard, window, and synthetic events. Event and callback filtering module
- form
- Form constraint validation - the
ValidityStateanInvalidevent explains itself with. The rules live inazul_layout::form. Form constraint validation - the shared vocabulary forInvalid. - gamepad
- Gamepad POD types —
GamepadId+GamepadButton+GamepadAxis+GamepadState. - geolocation
- Geolocation POD types —
LocationFix+GeolocationProbeConfig. - geom
- Logical and physical coordinate types (
LogicalSize,PhysicalPosition, etc.). Logical and physical coordinate types for the GUI toolkit. - gl
- OpenGL context wrappers, shader compilation, and texture cache.
- gl_fxaa
- FXAA (Fast Approximate Anti-Aliasing) shader. FXAA (Fast Approximate Anti-Aliasing) shader implementation.
- glconst
- OpenGL constants (GL 1.1 through GL 4.x). OpenGL constants (GL 1.1 through GL 4.x and common extensions).
- gpu
- GPU value cache for CSS transforms and opacity. GPU value caching for CSS transforms and opacity.
- haptics
- Haptic feedback — the one OUTPUT in the input subsystem.
- hash
no_std-friendly default hasher used for change-detection hashing.- hid
- Generic HID — the escape hatch for devices azul does not model.
- hit_
test - Hit-test results (which DOM nodes are under the cursor) + the type-safe
hit-test tag system for compositor integration (merged from
hit_test_tag). - host_
invoker - Host-language callback invoker registry.
- icon
- Icon provider system for loading icons from fonts, images, or zip packs. Generic icon provider system for Azul
- id
- Arena-based node tree storage and hierarchy management. Node tree data structures and hierarchy management.
- json
- JSON value types for the C API (no serde dependency). JSON value types for C API (data definitions only, no serde_json dependency)
- keyring
- System-keyring POD types —
KeyringRequest+KeyringResult. - log_
filter - Runtime log filtering: per-level and per-category atomics.
- macros
- Internal macros for
Vec,Option, and callback boilerplate. - media_
player - Media playback POD types — the
PlaybackStatethe six media events describe (11c). - media_
session - The system media session — what the desktop’s media widget shows. The
app-facing half of the media-key transport in
dll/desktop/extra/media_keys. The system MEDIA SESSION - what the desktop’s media widget shows. - menu
- Menu system: context menus, dropdown menus, and menu bars. Menu system for context menus, dropdown menus, and application menus.
- paged
- Paged-media primitives: the
FragmentationContext(continuous vs. paged) andPageMargins. The pagination/slicing logic lives inazul_layout::solver3. Paged media layout primitives. - path_
parser - SVG
d=""path data parser. SVGd=""path data parser. - physical_
key - CSS property cache for efficient per-node style resolution.
Scancode -> [
PhysicalKey] tables, one per platform convention. - profile
- Unified
AZ_PROFILEgate for memory and CPU profiling instrumentation. Unified profiling gate. - prop_
cache - CSS property cache for efficient style resolution and animation.
- refany
- Type-erased, ref-counted smart pointer with runtime borrow checking. Type-erased, reference-counted smart pointer with runtime borrow checking.
- resources
- Resource management: font/image loading, caching, and garbage collection. Resource management types for the application.
- screencap
- Screen-capture POD types —
ScreenCaptureSource+ScreenCaptureConfig. - selection
- Text selection and cursor positioning for inline content. Text selection and cursor positioning for inline content.
- sensors
- Motion-sensor POD types —
SensorKind+SensorReading. - spaces
- Pointer coordinate spaces as distinct, zero-cost newtypes.
- style
- CSS cascade: selector matching, specificity, and property inheritance. DOM tree to CSS style tree cascading.
- styled_
dom StyledDom— the result of applying CSS to a DOM tree (the CSSOM).StyledDom- the result of applying CSS styles to a DOM tree.- svg
- SVG rendering, path tessellation, and geometric operations. SVG rendering and path tessellation.
- sync
no_std-friendly synchronization primitives.- task
- Timer, thread, and async task management. Timer and thread management for asynchronous operations.
- transform
- 3D transform matrix computation for CSS transforms. 3D transform matrix computations for CSS transforms.
- transient
<transient-window>: a popup that is a REAL OS window, drawn from a subtree of the one DOM.- tray
- System tray / status icon POD types.
- ua_css
- Built-in user-agent default stylesheet. User-Agent Default Stylesheet for Azul
- ui_
solver - Default font/text constants and small geometry helpers for layout. Small geometry types used by the layout solver and text shaping pipeline.
- url
- URL POD type (
Url/UrlParseError); parsing gated behind theurlfeature. URL types for the C API. - video
- Video-playback POD types —
VideoConfig(source URL + autoplay/loop). - window
- Window configuration, input state, and platform-specific options. Window configuration types, input state, and platform-specific options.
- xml
- XML and XHTML parsing for declarative UI definitions. XML and XHTML parsing for declarative UI definitions.
Macros§
- impl_
callback - Implements
Display, Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ordfor a callback struct with.cb(function pointer) and.ctx(OptionRefAny) fields. - impl_
callback_ simple - Macro to implement callback traits for simple system callbacks (no callable field)
- impl_
callback_ traits - Helper macro implementing the shared trait impls (
Display,Debug,Hash,PartialEq,Eq,PartialOrd,Ord) for callback types. - impl_
display - Implement
Displayfor an enum. - impl_
from - Implement the
Fromtrait for any type. - impl_
managed_ callback - Macro that expands to the per-callback-kind boilerplate:
- log_
debug - Log a message at debug level
- log_
error - Log a message at error level
- log_
info - Log a message at info level
- log_
trace - Log a message at trace level
- log_
warn - Log a message at warn level
Type Aliases§
- FastB
Tree Set - Ordered
Map - Ordered map alias used throughout
azul-core.