class_inputeventmousemotion.rst 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/InputEventMouseMotion.xml.
  6. .. _class_InputEventMouseMotion:
  7. InputEventMouseMotion
  8. =====================
  9. **Inherits:** :ref:`InputEventMouse<class_InputEventMouse>` **<** :ref:`InputEventWithModifiers<class_InputEventWithModifiers>` **<** :ref:`InputEvent<class_InputEvent>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  10. Input event type for mouse motion events.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Contains mouse and pen motion information. Supports relative, absolute positions and speed. See :ref:`Node._input<class_Node_method__input>`.
  15. \ **Note:** The behavior of this event is affected by the value of :ref:`Input.use_accumulated_input<class_Input_property_use_accumulated_input>`. When set to ``true`` (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 ``false``, 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.
  16. \ **Note:** If you use InputEventMouseMotion to draw lines, consider implementing `Bresenham's line algorithm <https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm>`__ as well to avoid visible gaps in lines if the user is moving the mouse quickly.
  17. .. rst-class:: classref-introduction-group
  18. Tutorials
  19. ---------
  20. - :doc:`Mouse and input coordinates <../tutorials/inputs/mouse_and_input_coordinates>`
  21. - `3D Voxel Demo <https://godotengine.org/asset-library/asset/676>`__
  22. .. rst-class:: classref-reftable-group
  23. Properties
  24. ----------
  25. .. table::
  26. :widths: auto
  27. +-------------------------------+------------------------------------------------------------------------+---------------------+
  28. | :ref:`bool<class_bool>` | :ref:`pen_inverted<class_InputEventMouseMotion_property_pen_inverted>` | ``false`` |
  29. +-------------------------------+------------------------------------------------------------------------+---------------------+
  30. | :ref:`float<class_float>` | :ref:`pressure<class_InputEventMouseMotion_property_pressure>` | ``0.0`` |
  31. +-------------------------------+------------------------------------------------------------------------+---------------------+
  32. | :ref:`Vector2<class_Vector2>` | :ref:`relative<class_InputEventMouseMotion_property_relative>` | ``Vector2( 0, 0 )`` |
  33. +-------------------------------+------------------------------------------------------------------------+---------------------+
  34. | :ref:`Vector2<class_Vector2>` | :ref:`speed<class_InputEventMouseMotion_property_speed>` | ``Vector2( 0, 0 )`` |
  35. +-------------------------------+------------------------------------------------------------------------+---------------------+
  36. | :ref:`Vector2<class_Vector2>` | :ref:`tilt<class_InputEventMouseMotion_property_tilt>` | ``Vector2( 0, 0 )`` |
  37. +-------------------------------+------------------------------------------------------------------------+---------------------+
  38. .. rst-class:: classref-section-separator
  39. ----
  40. .. rst-class:: classref-descriptions-group
  41. Property Descriptions
  42. ---------------------
  43. .. _class_InputEventMouseMotion_property_pen_inverted:
  44. .. rst-class:: classref-property
  45. :ref:`bool<class_bool>` **pen_inverted** = ``false``
  46. .. rst-class:: classref-property-setget
  47. - void **set_pen_inverted** **(** :ref:`bool<class_bool>` value **)**
  48. - :ref:`bool<class_bool>` **get_pen_inverted** **(** **)**
  49. Returns ``true`` when using the eraser end of a stylus pen.
  50. \ **Note:** This property is implemented on Linux, macOS and Windows.
  51. .. rst-class:: classref-item-separator
  52. ----
  53. .. _class_InputEventMouseMotion_property_pressure:
  54. .. rst-class:: classref-property
  55. :ref:`float<class_float>` **pressure** = ``0.0``
  56. .. rst-class:: classref-property-setget
  57. - void **set_pressure** **(** :ref:`float<class_float>` value **)**
  58. - :ref:`float<class_float>` **get_pressure** **(** **)**
  59. Represents the pressure the user puts on the pen. Ranges from ``0.0`` to ``1.0``.
  60. .. rst-class:: classref-item-separator
  61. ----
  62. .. _class_InputEventMouseMotion_property_relative:
  63. .. rst-class:: classref-property
  64. :ref:`Vector2<class_Vector2>` **relative** = ``Vector2( 0, 0 )``
  65. .. rst-class:: classref-property-setget
  66. - void **set_relative** **(** :ref:`Vector2<class_Vector2>` value **)**
  67. - :ref:`Vector2<class_Vector2>` **get_relative** **(** **)**
  68. The mouse position relative to the previous position (position at the last frame).
  69. \ **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.
  70. .. rst-class:: classref-item-separator
  71. ----
  72. .. _class_InputEventMouseMotion_property_speed:
  73. .. rst-class:: classref-property
  74. :ref:`Vector2<class_Vector2>` **speed** = ``Vector2( 0, 0 )``
  75. .. rst-class:: classref-property-setget
  76. - void **set_speed** **(** :ref:`Vector2<class_Vector2>` value **)**
  77. - :ref:`Vector2<class_Vector2>` **get_speed** **(** **)**
  78. The mouse speed in pixels per second.
  79. .. rst-class:: classref-item-separator
  80. ----
  81. .. _class_InputEventMouseMotion_property_tilt:
  82. .. rst-class:: classref-property
  83. :ref:`Vector2<class_Vector2>` **tilt** = ``Vector2( 0, 0 )``
  84. .. rst-class:: classref-property-setget
  85. - void **set_tilt** **(** :ref:`Vector2<class_Vector2>` value **)**
  86. - :ref:`Vector2<class_Vector2>` **get_tilt** **(** **)**
  87. 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.
  88. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  89. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  90. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  91. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`