1//! Vizia
23#![allow(clippy::type_complexity)]
4// To allow a match syntax in event handlers with one event variant
5#![allow(clippy::single_match)]
6// To allow enum names with the same prefix
7#![allow(clippy::enum_variant_names)]
8#![allow(clippy::only_used_in_recursion)]
9// #![warn(missing_docs)]
1011extern crate self as vizia;
1213pub(crate) mod accessibility;
14pub mod animation;
15pub mod binding;
16#[doc(hidden)]
17pub(crate) mod cache;
18pub mod context;
19#[doc(hidden)]
20pub(crate) mod entity;
21pub mod environment;
22pub mod events;
23pub mod input;
24pub mod layout;
25pub mod localization;
26pub mod model;
27pub mod modifiers;
28pub mod resource;
29pub mod style;
30pub(crate) mod systems;
31pub(crate) mod text;
32#[doc(hidden)]
33pub mod tree;
34/// Helper utilities
35pub mod util;
36pub mod view;
37pub mod views;
38pub mod window;
3940mod storage;
4142/// Contains types and functions used for custom drawing within views. This is a re-export of [skia-safe](https://github.com/rust-skia/rust-skia).
43pub mod vg {
44pub use skia_safe::*;
45}
4647/// A collection of built-in SVG icons.
48pub mod icons;
4950#[doc(hidden)]
51pub mod backend {
52pub use super::accessibility::IntoNode;
53pub use super::context::backend::BackendContext;
54pub use vizia_window::WindowDescription;
55}
5657/// Members which we recommend you wildcard-import.
58#[doc(hidden)]
59pub mod prelude {
60pub use super::binding::{
61 Binding, Data, Index, Lens, LensExt, LensValue, Map, MapRef, Res, ResGet, StaticLens, Then,
62 UnwrapLens, Wrapper,
63 };
6465pub use super::impl_res_simple;
6667pub use crate::model::Model;
6869pub use super::animation::{Animation, AnimationBuilder, KeyframeBuilder};
70pub use super::context::{
71 AccessContext, AccessNode, Context, ContextProxy, DataContext, DrawContext, EmitContext,
72 EventContext, ProxyEmitError, WindowState,
73 };
74pub use super::entity::Entity;
75pub use super::environment::{AppTheme, Environment, EnvironmentEvent, ThemeMode};
76pub use super::events::{Event, Propagation, Timer, TimerAction};
77pub use super::include_style;
78pub use super::input::{Keymap, KeymapEntry, KeymapEvent};
79pub use super::layout::{BoundingBox, GeoChanged};
80pub use super::localization::{Localized, ToStringLocalized};
81pub use super::modifiers::{
82 AbilityModifiers, AccessibilityModifiers, ActionModifiers, LayoutModifiers,
83 LinearGradientBuilder, ShadowBuilder, StyleModifiers, TextModifiers,
84 };
85pub use super::resource::{ImageId, ImageRetentionPolicy};
86pub use super::util::{IntoCssStr, CSS};
87pub use super::view::{Handle, View};
88pub use super::views::*;
89pub use super::window::{DropData, WindowEvent};
90pub use accesskit::{Action, Live, Role};
91pub use skia_safe::Canvas;
92pub use vizia_derive::{Data, Lens};
93pub use vizia_id::GenerationalId;
94pub use vizia_input::{Code, Key, KeyChord, Modifiers, MouseButton, MouseButtonState};
95pub use vizia_storage::{Tree, TreeExt};
96pub use vizia_window::{Anchor, AnchorTarget, WindowButtons, WindowPosition, WindowSize};
9798pub use super::style::*;
99100pub use morphorm::Units::*;
101pub use morphorm::{LayoutType, PositionType, Units};
102pub use unic_langid::{langid, LanguageIdentifier};
103pub use web_time::{Duration, Instant};
104}