[][src]Struct gdnative::prelude::InputEvent

pub struct InputEvent { /* fields omitted */ }

core class InputEvent inherits Resource (reference counted).

Official documentation

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

Memory management

The lifetime of this object is automatically managed through reference counting.

Class hierarchy

InputEvent 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 InputEvent[src]

pub fn accumulate(&self, with_event: impl AsArg<InputEvent>) -> bool[src]

Returns [code]true[/code] if the given input event and this input event can be added together (only for events of type [InputEventMouseMotion]).
				The given input event's position, global position and speed will be copied. The resulting [code]relative[/code] is a sum of both events. Both events' modifiers have to be identical.

pub fn as_text(&self) -> GodotString[src]

Returns a [String] representation of the event.

pub fn get_action_strength(&self, action: impl Into<GodotString>) -> f64[src]

Returns a value between 0.0 and 1.0 depending on the given actions' state. Useful for getting the value of events of type [InputEventJoypadMotion].

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

The event's device ID.
			[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated mouse input from a touchscreen. This can be used to distinguish emulated mouse input from physical mouse input.

pub fn is_action(&self, action: impl Into<GodotString>) -> bool[src]

Returns [code]true[/code] if this input event matches a pre-defined action of any type.

pub fn is_action_pressed(
    &self,
    action: impl Into<GodotString>,
    allow_echo: bool
) -> bool
[src]

Returns [code]true[/code] if the given action is being pressed (and is not an echo event for [InputEventKey] events, unless [code]allow_echo[/code] is [code]true[/code]). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].

Default Arguments

  • allow_echo - false

pub fn is_action_released(&self, action: impl Into<GodotString>) -> bool[src]

Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].

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

Returns [code]true[/code] if this input event's type is one that can be assigned to an input action.

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

Returns [code]true[/code] if this input event is an echo event (only for events of type [InputEventKey]).

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

Returns [code]true[/code] if this input event is pressed. Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].

pub fn set_device(&self, device: i64)[src]

The event's device ID.
			[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated mouse input from a touchscreen. This can be used to distinguish emulated mouse input from physical mouse input.

pub fn shortcut_match(&self, event: impl AsArg<InputEvent>) -> bool[src]

Returns [code]true[/code] if the given input event is checking for the same key ([InputEventKey]), button ([InputEventJoypadButton]) or action ([InputEventAction]).

pub fn xformed_by(
    &self,
    xform: Transform2D<f32, UnknownUnit, UnknownUnit>,
    local_ofs: Vector2D<f32, UnknownUnit>
) -> Option<Ref<InputEvent, Shared>>
[src]

Returns a copy of the given input event which has been offset by [code]local_ofs[/code] and transformed by [code]xform[/code]. Relevant for events of type [InputEventMouseButton], [InputEventMouseMotion], [InputEventScreenTouch], [InputEventScreenDrag], [InputEventMagnifyGesture] and [InputEventPanGesture].

Default Arguments

  • local_ofs - Vector2( 0, 0 )

Methods from Deref<Target = Resource>

pub fn duplicate(&self, subresources: bool) -> Option<Ref<Resource, Shared>>[src]

Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing [code]true[/code] to the [code]subresources[/code] argument which will copy the subresources.
				[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.

Default Arguments

  • subresources - false

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

If [member resource_local_to_scene] is enabled and the resource was loaded from a [PackedScene] instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns [code]null[/code].

pub fn name(&self) -> GodotString[src]

The name of the resource. This is an optional identifier.

pub fn path(&self) -> GodotString[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn get_rid(&self) -> Rid[src]

Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.

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

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_local_to_scene(&self, enable: bool)[src]

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_name(&self, name: impl Into<GodotString>)[src]

The name of the resource. This is an optional identifier.

pub fn set_path(&self, path: impl Into<GodotString>)[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn setup_local_to_scene(&self)[src]

This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a [PackedScene] instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script.
				For most resources, this method performs no base logic. [ViewportTexture] performs custom logic to properly set the proxy texture and flags in the local viewport.

pub fn take_over_path(&self, path: impl Into<GodotString>)[src]

Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.

Trait Implementations

impl Debug for InputEvent[src]

impl Deref for InputEvent[src]

type Target = Resource

The resulting type after dereferencing.

impl DerefMut for InputEvent[src]

impl GodotObject for InputEvent[src]

type RefKind = RefCounted

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 SubClass<InputEvent> for InputEventJoypadMotion[src]

impl SubClass<InputEvent> for InputEventMouse[src]

impl SubClass<InputEvent> for InputEventMouseButton[src]

impl SubClass<InputEvent> for InputEventAction[src]

impl SubClass<InputEvent> for InputEventPanGesture[src]

impl SubClass<InputEvent> for InputEventScreenTouch[src]

impl SubClass<InputEvent> for InputEventKey[src]

impl SubClass<InputEvent> for InputEventScreenDrag[src]

impl SubClass<InputEvent> for InputEventGesture[src]

impl SubClass<InputEvent> for InputEventMagnifyGesture[src]

impl SubClass<InputEvent> for InputEventMouseMotion[src]

impl SubClass<InputEvent> for InputEventJoypadButton[src]

impl SubClass<InputEvent> for InputEventMIDI[src]

impl SubClass<InputEvent> for InputEventWithModifiers[src]

impl SubClass<Object> for InputEvent[src]

impl SubClass<Reference> for InputEvent[src]

impl SubClass<Resource> for InputEvent[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.