Skip to main content

ferroui_controls/
icon_element.rs

1use crate::primitives::{TemplatedControl, TemplatedControlImpl};
2use crate::ControlImpl;
3use ferroui_base::input::InputElementImpl;
4use ferroui_base::interactivity::InteractiveImpl;
5use ferroui_base::layout::LayoutableImpl;
6use ferroui_base::{ferro_class, ferro_impl_classes, FerroObjectImpl, StyledElementImpl, VisualImpl};
7
8/// Represents the base class for an icon UI element.
9#[repr(C)]
10pub struct IconElement {
11    base: TemplatedControl,
12}
13
14ferro_class!(IconElement: TemplatedControl);
15ferro_impl_classes!(
16    IconElement: FerroObjectImpl,
17    StyledElementImpl,
18    VisualImpl,
19    LayoutableImpl,
20    InteractiveImpl,
21    InputElementImpl,
22    ControlImpl,
23    TemplatedControlImpl
24);
25
26impl IconElement {
27    /// Creates the class data; see [`ferroui_base::FerroObject::construct`].
28    pub fn construct() -> Self {
29        Self { base: TemplatedControl::construct() }
30    }
31}