mirror of
https://github.com/FyroxEngine/Fyrox.git
synced 2026-10-11 22:50:08 +00:00
fixed default widget state created via define_widget_constructor
- added `define_widget_traits` that combines two commonly used macros
This commit is contained in:
+11
-3
@@ -3816,9 +3816,9 @@ macro_rules! define_widget_constructor {
|
||||
> {
|
||||
$crate::graph::constructor::GraphNodeConstructor::new::<Self>()
|
||||
.with_variant($display_name, |ui| {
|
||||
ui.add_node($crate::UiNode::new(<$type_name>::default()))
|
||||
.transmute()
|
||||
.into()
|
||||
let mut node = $crate::UiNode::new(<$type_name>::default());
|
||||
**node = $crate::widget::WidgetBuilder::new().build(&mut ui.build_ctx());
|
||||
ui.add_node(node).transmute().into()
|
||||
})
|
||||
.with_group($group_name)
|
||||
}
|
||||
@@ -3826,6 +3826,14 @@ macro_rules! define_widget_constructor {
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! define_widget_traits {
|
||||
($type_name:ty, $display_name:expr, $group_name:expr) => {
|
||||
$crate::define_widget_deref!($type_name);
|
||||
$crate::define_widget_constructor!($type_name, $display_name, $group_name);
|
||||
};
|
||||
}
|
||||
|
||||
fn is_approx_zero(v: f32) -> bool {
|
||||
v.abs() <= 10.0 * f32::EPSILON
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user