:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the InputEventMouseMotion.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_InputEventMouseMotion: InputEventMouseMotion ===================== **Inherits:** :ref:`InputEventMouse` **<** :ref:`InputEventWithModifiers` **<** :ref:`InputEventFromWindow` **<** :ref:`InputEvent` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Input event type for mouse motion events. Description ----------- Contains mouse and pen motion information. Supports relative, absolute positions and velocity. See :ref:`Node._input`. \ **Note:** By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, call :ref:`Input.set_use_accumulated_input` with ``false`` to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing `Bresenham's line algorithm `__ as well to avoid visible gaps in lines if the user is moving the mouse quickly. Tutorials --------- - :doc:`Mouse and input coordinates <../tutorials/inputs/mouse_and_input_coordinates>` - `3D Voxel Demo `__ Properties ---------- +-------------------------------+----------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`pressure` | ``0.0`` | +-------------------------------+----------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`relative` | ``Vector2(0, 0)`` | +-------------------------------+----------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`tilt` | ``Vector2(0, 0)`` | +-------------------------------+----------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`velocity` | ``Vector2(0, 0)`` | +-------------------------------+----------------------------------------------------------------+-------------------+ Property Descriptions --------------------- .. _class_InputEventMouseMotion_property_pressure: - :ref:`float` **pressure** +-----------+---------------------+ | *Default* | ``0.0`` | +-----------+---------------------+ | *Setter* | set_pressure(value) | +-----------+---------------------+ | *Getter* | get_pressure() | +-----------+---------------------+ Represents the pressure the user puts on the pen. Ranges from ``0.0`` to ``1.0``. ---- .. _class_InputEventMouseMotion_property_relative: - :ref:`Vector2` **relative** +-----------+---------------------+ | *Default* | ``Vector2(0, 0)`` | +-----------+---------------------+ | *Setter* | set_relative(value) | +-----------+---------------------+ | *Getter* | get_relative() | +-----------+---------------------+ The mouse position relative to the previous position (position at the last frame). \ **Note:** Since ``InputEventMouseMotion`` is only emitted when the mouse moves, the last event won't have a relative position of ``Vector2(0, 0)`` when the user stops moving the mouse. ---- .. _class_InputEventMouseMotion_property_tilt: - :ref:`Vector2` **tilt** +-----------+-------------------+ | *Default* | ``Vector2(0, 0)`` | +-----------+-------------------+ | *Setter* | set_tilt(value) | +-----------+-------------------+ | *Getter* | get_tilt() | +-----------+-------------------+ 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 ``-1.0`` to ``1.0`` for both axes. ---- .. _class_InputEventMouseMotion_property_velocity: - :ref:`Vector2` **velocity** +-----------+---------------------+ | *Default* | ``Vector2(0, 0)`` | +-----------+---------------------+ | *Setter* | set_velocity(value) | +-----------+---------------------+ | *Getter* | get_velocity() | +-----------+---------------------+ The mouse velocity in pixels per second. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`