1#[doc(hidden)]
5pub use paste::paste as __paste;
6
7pub mod animation;
8pub mod collections;
9pub mod controls;
10pub mod data;
11pub mod diagnostics;
12pub use ferroui_system::ferro_thread_local;
15#[doc(hidden)]
16pub use ferroui_system::__ferro_thread_local_table;
17pub mod input;
18pub mod interactivity;
19pub mod layout;
20pub mod logging;
21pub mod logical_tree;
22pub mod media;
23pub mod metadata;
24pub mod numerics;
25pub mod platform;
26pub mod reactive;
27pub mod rendering;
28pub mod styling;
29pub mod threading;
30pub mod utilities;
31pub mod visual_tree;
32
33#[doc(hidden)]
34pub mod property_store;
35
36mod class_binding_manager;
37mod combined_geometry;
38mod corner_radius;
39mod direct_property;
40mod ferro_internal_exception;
41mod ferro_locator;
42mod ferro_object;
43mod ferro_object_extensions;
44mod ferro_property;
45mod ferro_property_changed_event_args;
46mod ferro_property_metadata;
47mod ferro_property_registry;
48mod i_data_context_provider;
49mod i_named;
50mod i_support_initialize;
51mod markup_types;
52mod matrix;
53mod pixel_point;
54mod pixel_rect;
55mod pixel_size;
56mod pixel_vector;
57mod point;
58mod rect;
59mod register_types;
60mod rust_paths;
61mod relative_point;
62mod relative_rect;
63mod relative_scalar;
64mod render_target_corrupted_exception;
65mod render_target_not_ready_exception;
66mod rotate_3d_transform;
67mod rounded_rect;
68mod size;
69mod styled_element;
70mod styled_element_extensions;
71mod styled_property;
72mod thickness;
73mod type_system;
74mod element_ref;
75mod vector;
76mod vector3d;
77mod visual;
78mod visual_tree_attachment_event_args;
79
80pub use class_binding_manager::ClassBindingManager;
81pub use corner_radius::CornerRadius;
82pub use direct_property::{DirectProperty, DirectPropertyBase};
83pub use ferro_internal_exception::FerroInternalException;
84pub use ferro_locator::{FerroLocator, IFerroDependencyResolver, LocatorExtensions, RegistrationHelper, ServiceHandle};
85pub use ferro_object::{FerroObject, FerroObjectImpl, FerroObjectImplExt, FerroObjectVTable};
86pub use ferro_object_extensions::{to_binding, FerroObjectExtensions, ObjectPropertyChangedObservable, TypedProperty};
87pub use ferro_property::{
88 AnyValue, BoxedValue, DoNothingType, FerroProperty, NotifyingCallback, PropertyChangedObservable,
89 PropertyValue, StyledPropertyOptions, UnsetValueType,
90};
91pub use ferro_property_changed_event_args::{FerroPropertyChangedEventArgs, OwnedFerroPropertyChangedEventArgs};
92pub use ferro_property_metadata::{
93 CoerceValueCallback, DirectPropertyMetadata, FerroPropertyMetadata, StyledPropertyMetadata,
94};
95pub use ferro_property_registry::{FerroPropertyRegistry, Registrable};
96pub use i_data_context_provider::IDataContextProvider;
97pub use i_named::INamed;
98pub use i_support_initialize::{ISupportInitialize, InitializationError};
99pub use matrix::{Matrix, MatrixDecomposed};
100pub use pixel_point::PixelPoint;
101pub use pixel_rect::PixelRect;
102pub use pixel_size::PixelSize;
103pub use pixel_vector::PixelVector;
104pub use point::Point;
105pub use rect::Rect;
106pub use metadata::IServiceProvider;
107pub use register_types::register_types;
108#[cfg(feature = "testing")]
109#[doc(hidden)]
110pub use register_types::registered_type_list;
111pub use relative_point::{RelativePoint, RelativeUnit};
112pub use relative_rect::RelativeRect;
113pub use relative_scalar::RelativeScalar;
114pub use render_target_corrupted_exception::RenderTargetCorruptedException;
115pub use render_target_not_ready_exception::RenderTargetNotReadyException;
116pub use rounded_rect::RoundedRect;
117pub use size::Size;
118pub use styled_element::{StyledElement, StyledElementImpl, StyledElementImplExt, StyledElementVTable};
119pub use styled_property::{AttachedProperty, StyledProperty};
120pub use thickness::Thickness;
121pub use element_ref::ElementRef;
122pub use type_system::{
123 __forwards_to_parent, __register_class, cast_this, instantiate, parent_vtable, ClassDefaults, IntoRef, Nullable,
124 ObjectType, Ref, StaticType, Subclassable, TypeInfo, Upcast, WeakRef,
125};
126#[cfg(feature = "tagged-weak-references")]
127pub use type_system::WEAK_REFERENCE_TAG;
128pub use vector::Vector;
129pub use visual::{
130 ScalarTransition, Vector3Transition, Vector3TransitionComponents, Visual, VisualImpl, VisualImplExt, VisualVTable,
131};
132pub use visual_tree_attachment_event_args::VisualTreeAttachmentEventArgs;
133pub use vector3d::Vector3D;
134
135#[cfg(test)]
136mod ferro_object_tests;
137#[cfg(test)]
138mod flow_direction_tests;
139
140#[cfg(test)]
141mod tree_tests;
142#[cfg(test)]
143mod visual_render_tests;
144#[cfg(test)]
145mod tests;