[−][src]Struct gdnative_bindings::Light2D
core class Light2D
inherits Node2D
(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.
Light2D
is a reference-only type. Persistent references can
only exist in the unsafe Ref<Light2D>
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
Light2D 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 Light2D
[src]
Constants
pub const MODE_ADD: i64
[src]
pub const MODE_MASK: i64
[src]
pub const MODE_MIX: i64
[src]
pub const MODE_SUB: i64
[src]
pub const SHADOW_FILTER_NONE: i64
[src]
pub const SHADOW_FILTER_PCF13: i64
[src]
pub const SHADOW_FILTER_PCF3: i64
[src]
pub const SHADOW_FILTER_PCF5: i64
[src]
pub const SHADOW_FILTER_PCF7: i64
[src]
pub const SHADOW_FILTER_PCF9: i64
[src]
impl Light2D
[src]
pub fn new() -> Ref<Self, 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 color(&self) -> Color
[src]
The Light2D's [Color].
pub fn energy(&self) -> f64
[src]
The Light2D's energy value. The larger the value, the stronger the light.
pub fn height(&self) -> f64
[src]
The height of the Light2D. Used with 2D normal mapping.
pub fn item_cull_mask(&self) -> i64
[src]
The layer mask. Only objects with a matching mask will be affected by the Light2D.
pub fn item_shadow_cull_mask(&self) -> i64
[src]
The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders with a matching light mask will cast shadows.
pub fn layer_range_max(&self) -> i64
[src]
Maximum layer value of objects that are affected by the Light2D.
pub fn layer_range_min(&self) -> i64
[src]
Minimum layer value of objects that are affected by the Light2D.
pub fn mode(&self) -> Mode
[src]
The Light2D's mode. See [enum Mode] constants for values.
pub fn shadow_buffer_size(&self) -> i64
[src]
Shadow buffer size.
pub fn shadow_color(&self) -> Color
[src]
[Color] of shadows cast by the Light2D.
pub fn shadow_filter(&self) -> ShadowFilter
[src]
Shadow filter type. See [enum ShadowFilter] for possible values.
pub fn shadow_gradient_length(&self) -> f64
[src]
Smooth shadow gradient length.
pub fn shadow_smooth(&self) -> f64
[src]
Smoothing value for shadows.
pub fn texture(&self) -> Option<Ref<Texture, Shared>>
[src]
[Texture] used for the Light2D's appearance.
pub fn texture_offset(&self) -> Vector2
[src]
The offset of the Light2D's [code]texture[/code].
pub fn texture_scale(&self) -> f64
[src]
The [code]texture[/code]'s scale factor.
pub fn z_range_max(&self) -> i64
[src]
Maximum [code]z[/code] value of objects that are affected by the Light2D.
pub fn z_range_min(&self) -> i64
[src]
Minimum [code]z[/code] value of objects that are affected by the Light2D.
pub fn is_editor_only(&self) -> bool
[src]
If [code]true[/code], Light2D will only appear when editing the scene.
pub fn is_enabled(&self) -> bool
[src]
If [code]true[/code], Light2D will emit light.
pub fn is_shadow_enabled(&self) -> bool
[src]
If [code]true[/code], the Light2D will cast shadows.
pub fn set_color(&self, color: Color)
[src]
The Light2D's [Color].
pub fn set_editor_only(&self, editor_only: bool)
[src]
If [code]true[/code], Light2D will only appear when editing the scene.
pub fn set_enabled(&self, enabled: bool)
[src]
If [code]true[/code], Light2D will emit light.
pub fn set_energy(&self, energy: f64)
[src]
The Light2D's energy value. The larger the value, the stronger the light.
pub fn set_height(&self, height: f64)
[src]
The height of the Light2D. Used with 2D normal mapping.
pub fn set_item_cull_mask(&self, item_cull_mask: i64)
[src]
The layer mask. Only objects with a matching mask will be affected by the Light2D.
pub fn set_item_shadow_cull_mask(&self, item_shadow_cull_mask: i64)
[src]
The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders with a matching light mask will cast shadows.
pub fn set_layer_range_max(&self, layer: i64)
[src]
Maximum layer value of objects that are affected by the Light2D.
pub fn set_layer_range_min(&self, layer: i64)
[src]
Minimum layer value of objects that are affected by the Light2D.
pub fn set_mode(&self, mode: i64)
[src]
The Light2D's mode. See [enum Mode] constants for values.
pub fn set_shadow_buffer_size(&self, size: i64)
[src]
Shadow buffer size.
pub fn set_shadow_color(&self, shadow_color: Color)
[src]
[Color] of shadows cast by the Light2D.
pub fn set_shadow_enabled(&self, enabled: bool)
[src]
If [code]true[/code], the Light2D will cast shadows.
pub fn set_shadow_filter(&self, filter: i64)
[src]
Shadow filter type. See [enum ShadowFilter] for possible values.
pub fn set_shadow_gradient_length(&self, multiplier: f64)
[src]
Smooth shadow gradient length.
pub fn set_shadow_smooth(&self, smooth: f64)
[src]
Smoothing value for shadows.
pub fn set_texture(&self, texture: impl AsArg<Texture>)
[src]
[Texture] used for the Light2D's appearance.
pub fn set_texture_offset(&self, texture_offset: Vector2)
[src]
The offset of the Light2D's [code]texture[/code].
pub fn set_texture_scale(&self, texture_scale: f64)
[src]
The [code]texture[/code]'s scale factor.
pub fn set_z_range_max(&self, z: i64)
[src]
Maximum [code]z[/code] value of objects that are affected by the Light2D.
pub fn set_z_range_min(&self, z: i64)
[src]
Minimum [code]z[/code] value of objects that are affected by the Light2D.
Methods from Deref<Target = Node2D>
pub fn apply_scale(&self, ratio: Vector2)
[src]
Multiplies the current scale by the [code]ratio[/code] vector.
pub fn get_angle_to(&self, point: Vector2) -> f64
[src]
Returns the angle between the node and the [code]point[/code] in radians.
pub fn global_position(&self) -> Vector2
[src]
Global position.
pub fn global_rotation(&self) -> f64
[src]
Global rotation in radians.
pub fn global_rotation_degrees(&self) -> f64
[src]
Global rotation in degrees.
pub fn global_scale(&self) -> Vector2
[src]
Global scale.
pub fn position(&self) -> Vector2
[src]
Position, relative to the node's parent.
pub fn get_relative_transform_to_parent(
&self,
parent: impl AsArg<Node>
) -> Transform2D
[src]
&self,
parent: impl AsArg<Node>
) -> Transform2D
Returns the [Transform2D] relative to this node's parent.
pub fn rotation(&self) -> f64
[src]
Rotation in radians, relative to the node's parent.
pub fn rotation_degrees(&self) -> f64
[src]
Rotation in degrees, relative to the node's parent.
pub fn scale(&self) -> Vector2
[src]
The node's scale. Unscaled value: [code](1, 1)[/code].
pub fn z_index(&self) -> i64
[src]
Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.
pub fn global_translate(&self, offset: Vector2)
[src]
Adds the [code]offset[/code] vector to the node's global position.
pub fn is_z_relative(&self) -> bool
[src]
If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.
pub fn look_at(&self, point: Vector2)
[src]
Rotates the node so it points towards the [code]point[/code], which is expected to use global coordinates.
pub fn move_local_x(&self, delta: f64, scaled: bool)
[src]
Applies a local translation on the node's X axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.
Default Arguments
scaled
-false
pub fn move_local_y(&self, delta: f64, scaled: bool)
[src]
Applies a local translation on the node's Y axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.
Default Arguments
scaled
-false
pub fn rotate(&self, radians: f64)
[src]
Applies a rotation to the node, in radians, starting from its current rotation.
pub fn set_global_position(&self, position: Vector2)
[src]
Global position.
pub fn set_global_rotation(&self, radians: f64)
[src]
Global rotation in radians.
pub fn set_global_rotation_degrees(&self, degrees: f64)
[src]
Global rotation in degrees.
pub fn set_global_scale(&self, scale: Vector2)
[src]
Global scale.
pub fn set_global_transform(&self, xform: Transform2D)
[src]
Global [Transform2D].
pub fn set_position(&self, position: Vector2)
[src]
Position, relative to the node's parent.
pub fn set_rotation(&self, radians: f64)
[src]
Rotation in radians, relative to the node's parent.
pub fn set_rotation_degrees(&self, degrees: f64)
[src]
Rotation in degrees, relative to the node's parent.
pub fn set_scale(&self, scale: Vector2)
[src]
The node's scale. Unscaled value: [code](1, 1)[/code].
pub fn set_transform(&self, xform: Transform2D)
[src]
Local [Transform2D].
pub fn set_z_as_relative(&self, enable: bool)
[src]
If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.
pub fn set_z_index(&self, z_index: i64)
[src]
Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.
pub fn to_global(&self, local_point: Vector2) -> Vector2
[src]
Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the [Node2D] it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.
pub fn to_local(&self, global_point: Vector2) -> Vector2
[src]
Transforms the provided global position into a position in local coordinate space. The output will be local relative to the [Node2D] it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.
pub fn translate(&self, offset: Vector2)
[src]
Translates the node by the given [code]offset[/code] in local coordinates.
Trait Implementations
impl Debug for Light2D
[src]
impl Deref for Light2D
[src]
impl DerefMut for Light2D
[src]
impl GodotObject for Light2D
[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 Light2D
[src]
impl QueueFree for Light2D
[src]
unsafe fn godot_queue_free(obj: *mut godot_object)
[src]
impl Sealed for Light2D
[src]
impl SubClass<CanvasItem> for Light2D
[src]
impl SubClass<Node> for Light2D
[src]
impl SubClass<Node2D> for Light2D
[src]
impl SubClass<Object> for Light2D
[src]
Auto Trait Implementations
impl RefUnwindSafe for Light2D
impl !Send for Light2D
impl !Sync for Light2D
impl Unpin for Light2D
impl UnwindSafe for Light2D
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>,