pub enum HandRadial {
Item(HandMenuItem),
Layer(HandRadialLayer),
}
Expand description
A Cell of the radial menu which can be a Layer
or an item
.
see example in HandMenuRadial
Variants§
Item(HandMenuItem)
Layer(HandRadialLayer)
Implementations§
Source§impl HandRadial
impl HandRadial
Sourcepub fn item<C: FnMut() + 'static>(
name: impl AsRef<str>,
image: Option<Material>,
callback: C,
action: HandMenuAction,
) -> Self
pub fn item<C: FnMut() + 'static>( name: impl AsRef<str>, image: Option<Material>, callback: C, action: HandMenuAction, ) -> Self
Creates a new HandRadial item.
name
- Display name of the item.image
- Image to display on the item.callback
- The callback that should be performed when this menu item is selected.action
- Describes the menu related behavior of this menu item, should it close the menu? Open another layer? Check/Uncheck this item? Go back to the previous menu?
Sourcepub fn layer(
name: impl AsRef<str>,
image: Option<Material>,
start_angle: Option<f32>,
items: Vec<HandRadial>,
) -> Self
pub fn layer( name: impl AsRef<str>, image: Option<Material>, start_angle: Option<f32>, items: Vec<HandRadial>, ) -> Self
Creates a new HandRadial layer.
name
- Name of the layer, this is used for layer traversal, so make sure you get the spelling right! Perhaps use const strings for these.image
- Image to display in the center of the radial menu.start_angle
- An angle offset for the layer, if you want a specific orientation for the menu’s contents. Note this may not behave as expected if you’re setting this manually and using the backAngle as well.items
- A list of menu items to display in this menu layer.
Sourcepub fn items_count(&self) -> usize
pub fn items_count(&self) -> usize
Returns the number of items in this layer. 0 if this is an item.
Sourcepub fn items(&self) -> &Vec<Rc<HandRadial>>
pub fn items(&self) -> &Vec<Rc<HandRadial>>
Returns the items in this layer. Empty if this is an item.
Sourcepub fn is_back_action(&self) -> bool
pub fn is_back_action(&self) -> bool
Returns true if this is an item and it is a back action.
Sourcepub fn is_checked_action(&self) -> Option<u8>
pub fn is_checked_action(&self) -> Option<u8>
Returns the group number if this is an item and it is a checked action.
Sourcepub fn is_unchecked_action(&self) -> Option<u8>
pub fn is_unchecked_action(&self) -> Option<u8>
Returns the group number if this is an item and it is an unchecked action.
Sourcepub fn get_start_angle(&self) -> f32
pub fn get_start_angle(&self) -> f32
Returns the start angle of the layer. 0.0 if this is an item.
Sourcepub fn get_back_angle(&self) -> f32
pub fn get_back_angle(&self) -> f32
Returns the back angle of the layer. 0.0 if this is an item.
Auto Trait Implementations§
impl !Freeze for HandRadial
impl !RefUnwindSafe for HandRadial
impl !Send for HandRadial
impl !Sync for HandRadial
impl Unpin for HandRadial
impl !UnwindSafe for HandRadial
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.