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