mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-23 04:16:50 +01:00
Relintai
3fb2c16ba0
Input accumulation was implemented and enabled by default in 3.1, and
I don't recall major complaints around it (or bugs were fixed).
In 3.4, #42220 added input buffering and apparently toggled input
accumulation off by mistake.
This led to multiple bug reports about degraded performance on Windows,
or simply unexpected behavior change (see linked issues in #55037).
Fixes #55037.
- akien-mga
d6bcdd18c3
39 lines
2.7 KiB
XML
39 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="InputEventMouseMotion" inherits="InputEventMouse" version="3.5">
|
|
<brief_description>
|
|
Input event type for mouse motion events.
|
|
</brief_description>
|
|
<description>
|
|
Contains mouse and pen motion information. Supports relative, absolute positions and speed. See [method Node._input].
|
|
[b]Note:[/b] The behavior of this event is affected by the value of [member Input.use_accumulated_input]. When set to [code]true[/code] (default), mouse/pen motion events received from the OS will be merged to emit an accumulated event only once per frame rendered at most. When set to [code]false[/code], the events will be emitted as received, which means that they can be emitted multiple times per frame rendered, allowing for precise input reporting at the expense of CPU usage.
|
|
[b]Note:[/b] If you use InputEventMouseMotion to draw lines, consider implementing [url=https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to avoid visible gaps in lines if the user is moving the mouse quickly.
|
|
</description>
|
|
<tutorials>
|
|
<link title="Mouse and input coordinates">$DOCS_URL/tutorials/inputs/mouse_and_input_coordinates.html</link>
|
|
<link title="3D Voxel Demo">https://godotengine.org/asset-library/asset/676</link>
|
|
</tutorials>
|
|
<methods>
|
|
</methods>
|
|
<members>
|
|
<member name="pen_inverted" type="bool" setter="set_pen_inverted" getter="get_pen_inverted" default="false">
|
|
Returns [code]true[/code] when using the eraser end of a stylus pen.
|
|
[b]Note:[/b] This property is implemented on Linux, macOS and Windows.
|
|
</member>
|
|
<member name="pressure" type="float" setter="set_pressure" getter="get_pressure" default="0.0">
|
|
Represents the pressure the user puts on the pen. Ranges from [code]0.0[/code] to [code]1.0[/code].
|
|
</member>
|
|
<member name="relative" type="Vector2" setter="set_relative" getter="get_relative" default="Vector2( 0, 0 )">
|
|
The mouse position relative to the previous position (position at the last frame).
|
|
[b]Note:[/b] Since [InputEventMouseMotion] is only emitted when the mouse moves, the last event won't have a relative position of [code]Vector2(0, 0)[/code] when the user stops moving the mouse.
|
|
</member>
|
|
<member name="speed" type="Vector2" setter="set_speed" getter="get_speed" default="Vector2( 0, 0 )">
|
|
The mouse speed in pixels per second.
|
|
</member>
|
|
<member name="tilt" type="Vector2" setter="set_tilt" getter="get_tilt" default="Vector2( 0, 0 )">
|
|
Represents the angles of tilt of the pen. Positive X-coordinate value indicates a tilt to the right. Positive Y-coordinate value indicates a tilt toward the user. Ranges from [code]-1.0[/code] to [code]1.0[/code] for both axes.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
</class>
|