1#![deny(missing_docs)]
25#![deny(unused_results)]
26#![forbid(unsafe_code)]
27#![warn(
28 clippy::pedantic,
29 clippy::nursery,
30
31 clippy::clone_on_ref_ptr,
33 clippy::create_dir,
34 clippy::dbg_macro,
35 clippy::decimal_literal_representation,
36 clippy::exit,
37 clippy::float_cmp_const,
38 clippy::get_unwrap,
39 clippy::let_underscore_must_use,
40 clippy::map_err_ignore,
41 clippy::mem_forget,
42 clippy::missing_docs_in_private_items,
43 clippy::multiple_inherent_impl,
44 clippy::panic,
45 clippy::panic_in_result_fn,
46 clippy::print_stderr,
47 clippy::print_stdout,
48 clippy::rest_pat_in_fully_bound_structs,
49 clippy::str_to_string,
50 clippy::todo,
51 clippy::unimplemented,
52 clippy::unneeded_field_pattern,
53 clippy::unwrap_in_result,
54 clippy::unwrap_used,
55 clippy::use_debug,
56)]
57#![allow(
58 clippy::suboptimal_flops,
59 clippy::cast_possible_truncation,
60 clippy::cast_sign_loss,
61 clippy::cast_possible_wrap,
62 clippy::module_name_repetitions,
63 clippy::borrowed_box,
64 clippy::missing_const_for_fn,
65 clippy::too_many_lines,
66 clippy::cast_precision_loss,
67 clippy::missing_docs_in_private_items,
68 clippy::unit_arg,
69 clippy::trivially_copy_pass_by_ref,
70 clippy::let_unit_value
71)]
72
73pub mod widget;
74#[deprecated(since = "0.9.4", note = "use `widget` instead")]
75pub use widget as widgets;
76
77pub mod core;
78pub mod style;
79pub use iced_fonts;
80
81mod platform {
83 #[allow(unused_imports)]
84 pub use crate::style;
85 pub use crate::widget::helpers;
86
87 #[doc(no_inline)]
88 #[cfg(feature = "badge")]
89 pub use {crate::widget::badge, badge::Badge};
90
91 #[doc(no_inline)]
92 #[cfg(feature = "card")]
93 pub use {crate::widget::card, card::Card};
94
95 #[doc(no_inline)]
96 #[cfg(feature = "color_picker")]
97 pub use {crate::widget::color_picker, color_picker::ColorPicker};
98
99 #[doc(no_inline)]
100 #[cfg(feature = "date_picker")]
101 pub use {crate::widget::date_picker, date_picker::DatePicker};
102
103 #[doc(no_inline)]
104 #[cfg(feature = "tab_bar")]
105 pub use {
106 crate::widget::tab_bar,
107 tab_bar::{TabBar, TabLabel},
108 };
109
110 #[doc(no_inline)]
111 #[cfg(feature = "tabs")]
112 pub use {
113 crate::widget::tabs,
114 tabs::{TabBarPosition, Tabs},
115 };
116
117 #[doc(no_inline)]
118 #[cfg(feature = "time_picker")]
119 pub use {crate::widget::time_picker, time_picker::TimePicker};
120
121 #[doc(no_inline)]
122 #[cfg(feature = "wrap")]
123 pub use {crate::widget::wrap, wrap::Wrap, wrap::direction};
124
125 #[doc(no_inline)]
126 #[cfg(feature = "number_input")]
127 pub use {crate::widget::number_input, number_input::NumberInput};
128
129 #[doc(no_inline)]
130 #[cfg(feature = "typed_input")]
131 pub use {crate::widget::typed_input, typed_input::TypedInput};
132
133 #[doc(no_inline)]
134 #[cfg(feature = "selection_list")]
135 pub use {crate::widget::selection_list, selection_list::SelectionList};
136
137 #[doc(no_inline)]
138 #[cfg(feature = "menu")]
139 pub use {crate::widget::menu, menu::Menu, menu::MenuBar};
140
141 #[doc(no_inline)]
142 #[cfg(feature = "quad")]
143 pub use {crate::widget::quad, quad::Quad};
144
145 #[doc(no_inline)]
146 #[cfg(feature = "spinner")]
147 pub use {crate::widget::spinner, spinner::Spinner};
148
149 #[doc(no_inline)]
150 #[cfg(feature = "slide_bar")]
151 pub use crate::widget::SlideBar;
152
153 #[doc(no_inline)]
154 #[cfg(feature = "context_menu")]
155 pub use {crate::widget::context_menu, context_menu::ContextMenu};
156
157 #[doc(no_inline)]
158 #[cfg(feature = "drop_down")]
159 pub use {crate::widget::drop_down, drop_down::DropDown};
160
161 #[doc(no_inline)]
162 #[cfg(feature = "sidebar")]
163 pub use crate::widget::sidebar;
164}
165
166#[doc(no_inline)]
167pub use platform::*;
168
169use iced_core::Font;
170use iced_fonts::generate_icon_functions;
171
172pub const ICED_AW_FONT_BYTES: &[u8] = include_bytes!("../font.ttf");
174pub const ICED_AW_FONT: Font = Font::with_name("iced_aw");
176generate_icon_functions!("font.ttf", iced_aw_font, ICED_AW_FONT);