[][src]Struct gdnative::api::TextureButton

pub struct TextureButton { /* fields omitted */ }

core class TextureButton inherits BaseButton (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

TextureButton is a reference-only type. Persistent references can only exist in the unsafe Ref<TextureButton> form.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using Ref::free, or Ref::queue_free if it is a Node.

Class hierarchy

TextureButton inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl TextureButton[src]

Constants

impl TextureButton[src]

pub fn new() -> Ref<TextureButton, Unique>[src]

Creates a new instance of this object.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed.

Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using Ref::free, or preferably Ref::queue_free if it is a Node.

pub fn click_mask(&self) -> Option<Ref<BitMap, Shared>>[src]

Pure black and white [BitMap] image to use for click detection. On the mask, white pixels represent the button's clickable area. Use it to create buttons with curved shapes.

pub fn disabled_texture(&self) -> Option<Ref<Texture, Shared>>[src]

Texture to display when the node is disabled. See [member BaseButton.disabled].

pub fn expand(&self) -> bool[src]

If [code]true[/code], the texture stretches to the edges of the node's bounding rectangle using the [member stretch_mode]. If [code]false[/code], the texture will not scale with the node.

pub fn focused_texture(&self) -> Option<Ref<Texture, Shared>>[src]

Texture to display when the node has mouse or keyboard focus.

pub fn hover_texture(&self) -> Option<Ref<Texture, Shared>>[src]

Texture to display when the mouse hovers the node.

pub fn normal_texture(&self) -> Option<Ref<Texture, Shared>>[src]

Texture to display by default, when the node is [b]not[/b] in the disabled, focused, hover or pressed state.

pub fn pressed_texture(&self) -> Option<Ref<Texture, Shared>>[src]

Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the [member BaseButton.shortcut] key.

pub fn stretch_mode(&self) -> StretchMode[src]

Controls the texture's behavior when you resize the node's bounding rectangle, [b]only if[/b] [member expand] is [code]true[/code]. Set it to one of the [enum StretchMode] constants. See the constants to learn more.

pub fn set_click_mask(&self, mask: impl AsArg<BitMap>)[src]

Pure black and white [BitMap] image to use for click detection. On the mask, white pixels represent the button's clickable area. Use it to create buttons with curved shapes.

pub fn set_disabled_texture(&self, texture: impl AsArg<Texture>)[src]

Texture to display when the node is disabled. See [member BaseButton.disabled].

pub fn set_expand(&self, p_expand: bool)[src]

If [code]true[/code], the texture stretches to the edges of the node's bounding rectangle using the [member stretch_mode]. If [code]false[/code], the texture will not scale with the node.

pub fn set_focused_texture(&self, texture: impl AsArg<Texture>)[src]

Texture to display when the node has mouse or keyboard focus.

pub fn set_hover_texture(&self, texture: impl AsArg<Texture>)[src]

Texture to display when the mouse hovers the node.

pub fn set_normal_texture(&self, texture: impl AsArg<Texture>)[src]

Texture to display by default, when the node is [b]not[/b] in the disabled, focused, hover or pressed state.

pub fn set_pressed_texture(&self, texture: impl AsArg<Texture>)[src]

Texture to display on mouse down over the node, if the node has keyboard focus and the player presses the Enter key or if the player presses the [member BaseButton.shortcut] key.

pub fn set_stretch_mode(&self, p_mode: i64)[src]

Controls the texture's behavior when you resize the node's bounding rectangle, [b]only if[/b] [member expand] is [code]true[/code]. Set it to one of the [enum StretchMode] constants. See the constants to learn more.

Methods from Deref<Target = BaseButton>

pub fn action_mode(&self) -> ActionMode[src]

Determines when the button is considered clicked, one of the [enum ActionMode] constants.

pub fn button_group(&self) -> Option<Ref<ButtonGroup, Shared>>[src]

[ButtonGroup] associated to the button.

pub fn button_mask(&self) -> i64[src]

Binary mask to choose which mouse buttons this button will respond to.
			To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code].

pub fn get_draw_mode(&self) -> DrawMode[src]

Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the [enum DrawMode] enum.

pub fn enabled_focus_mode(&self) -> FocusMode[src]

Focus access mode to use when switching between enabled/disabled (see [member Control.focus_mode] and [member disabled]).

pub fn shortcut(&self) -> Option<Ref<ShortCut, Shared>>[src]

[ShortCut] associated to the button.

pub fn is_disabled(&self) -> bool[src]

If [code]true[/code], the button is in disabled state and can't be clicked or toggled.

pub fn is_hovered(&self) -> bool[src]

Returns [code]true[/code] if the mouse has entered the button and has not left it yet.

pub fn is_keep_pressed_outside(&self) -> bool[src]

If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
			[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.

pub fn is_pressed(&self) -> bool[src]

If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active).

pub fn is_shortcut_in_tooltip_enabled(&self) -> bool[src]

If [code]true[/code], the button will add information about its shortcut in the tooltip.

pub fn is_toggle_mode(&self) -> bool[src]

If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.

pub fn set_action_mode(&self, mode: i64)[src]

Determines when the button is considered clicked, one of the [enum ActionMode] constants.

pub fn set_button_group(&self, button_group: impl AsArg<ButtonGroup>)[src]

[ButtonGroup] associated to the button.

pub fn set_button_mask(&self, mask: i64)[src]

Binary mask to choose which mouse buttons this button will respond to.
			To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code].

pub fn set_disabled(&self, disabled: bool)[src]

If [code]true[/code], the button is in disabled state and can't be clicked or toggled.

pub fn set_enabled_focus_mode(&self, mode: i64)[src]

Focus access mode to use when switching between enabled/disabled (see [member Control.focus_mode] and [member disabled]).

pub fn set_keep_pressed_outside(&self, enabled: bool)[src]

If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
			[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.

pub fn set_pressed(&self, pressed: bool)[src]

If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active).

pub fn set_shortcut(&self, shortcut: impl AsArg<ShortCut>)[src]

[ShortCut] associated to the button.

pub fn set_shortcut_in_tooltip(&self, enabled: bool)[src]

If [code]true[/code], the button will add information about its shortcut in the tooltip.

pub fn set_toggle_mode(&self, enabled: bool)[src]

If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.

Trait Implementations

impl Debug for TextureButton[src]

impl Deref for TextureButton[src]

type Target = BaseButton

The resulting type after dereferencing.

impl DerefMut for TextureButton[src]

impl GodotObject for TextureButton[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for TextureButton[src]

impl QueueFree for TextureButton[src]

impl SubClass<BaseButton> for TextureButton[src]

impl SubClass<CanvasItem> for TextureButton[src]

impl SubClass<Control> for TextureButton[src]

impl SubClass<Node> for TextureButton[src]

impl SubClass<Object> for TextureButton[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.