[−][src]Struct gdnative::api::TextureButton
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
pub const STRETCH_KEEP: i64
[src]
pub const STRETCH_KEEP_ASPECT: i64
[src]
pub const STRETCH_KEEP_ASPECT_CENTERED: i64
[src]
pub const STRETCH_KEEP_ASPECT_COVERED: i64
[src]
pub const STRETCH_KEEP_CENTERED: i64
[src]
pub const STRETCH_SCALE: i64
[src]
pub const STRETCH_TILE: i64
[src]
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 const ACTION_MODE_BUTTON_PRESS: i64
[src]
pub const ACTION_MODE_BUTTON_RELEASE: i64
[src]
pub const DRAW_DISABLED: i64
[src]
pub const DRAW_HOVER: i64
[src]
pub const DRAW_HOVER_PRESSED: i64
[src]
pub const DRAW_NORMAL: i64
[src]
pub const DRAW_PRESSED: i64
[src]
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]
impl DerefMut for TextureButton
[src]
fn deref_mut(&mut self) -> &mut BaseButton
[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
fn class_name() -> &'static str
[src]
fn null() -> Null<Self>
[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable,
[src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>,
[src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject,
[src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>
[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
[src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>
[src]
impl Instanciable for TextureButton
[src]
fn construct() -> Ref<TextureButton, Unique>
[src]
impl QueueFree for TextureButton
[src]
unsafe fn godot_queue_free(obj: *mut c_void)
[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
impl RefUnwindSafe for TextureButton
impl !Send for TextureButton
impl !Sync for TextureButton
impl Unpin for TextureButton
impl UnwindSafe for TextureButton
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject,
[src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,