class_backbuffercopy.rst 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/BackBufferCopy.xml.
  6. .. _class_BackBufferCopy:
  7. BackBufferCopy
  8. ==============
  9. **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts using the screen texture (i.e. a uniform sampler with ``hint_screen_texture``).
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Node for back-buffering the currently-displayed screen. The region defined in the **BackBufferCopy** node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the screen texture in your shader scripts to access the buffer.
  15. \ **Note:** Since this node inherits from :ref:`Node2D<class_Node2D>` (and not :ref:`Control<class_Control>`), anchors and margins won't apply to child :ref:`Control<class_Control>`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control<class_Control>`-derived nodes as *siblings* to the **BackBufferCopy** node instead of adding them as children.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
  22. | :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` | :ref:`copy_mode<class_BackBufferCopy_property_copy_mode>` | ``1`` |
  23. +-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
  24. | :ref:`Rect2<class_Rect2>` | :ref:`rect<class_BackBufferCopy_property_rect>` | ``Rect2(-100, -100, 200, 200)`` |
  25. +-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
  26. .. rst-class:: classref-section-separator
  27. ----
  28. .. rst-class:: classref-descriptions-group
  29. Enumerations
  30. ------------
  31. .. _enum_BackBufferCopy_CopyMode:
  32. .. rst-class:: classref-enumeration
  33. enum **CopyMode**:
  34. .. _class_BackBufferCopy_constant_COPY_MODE_DISABLED:
  35. .. rst-class:: classref-enumeration-constant
  36. :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_DISABLED** = ``0``
  37. Disables the buffering mode. This means the **BackBufferCopy** node will directly use the portion of screen it covers.
  38. .. _class_BackBufferCopy_constant_COPY_MODE_RECT:
  39. .. rst-class:: classref-enumeration-constant
  40. :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_RECT** = ``1``
  41. **BackBufferCopy** buffers a rectangular region.
  42. .. _class_BackBufferCopy_constant_COPY_MODE_VIEWPORT:
  43. .. rst-class:: classref-enumeration-constant
  44. :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_VIEWPORT** = ``2``
  45. **BackBufferCopy** buffers the entire screen.
  46. .. rst-class:: classref-section-separator
  47. ----
  48. .. rst-class:: classref-descriptions-group
  49. Property Descriptions
  50. ---------------------
  51. .. _class_BackBufferCopy_property_copy_mode:
  52. .. rst-class:: classref-property
  53. :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **copy_mode** = ``1``
  54. .. rst-class:: classref-property-setget
  55. - void **set_copy_mode** **(** :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` value **)**
  56. - :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **get_copy_mode** **(** **)**
  57. Buffer mode. See :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` constants.
  58. .. rst-class:: classref-item-separator
  59. ----
  60. .. _class_BackBufferCopy_property_rect:
  61. .. rst-class:: classref-property
  62. :ref:`Rect2<class_Rect2>` **rect** = ``Rect2(-100, -100, 200, 200)``
  63. .. rst-class:: classref-property-setget
  64. - void **set_rect** **(** :ref:`Rect2<class_Rect2>` value **)**
  65. - :ref:`Rect2<class_Rect2>` **get_rect** **(** **)**
  66. The area covered by the **BackBufferCopy**. Only used if :ref:`copy_mode<class_BackBufferCopy_property_copy_mode>` is :ref:`COPY_MODE_RECT<class_BackBufferCopy_constant_COPY_MODE_RECT>`.
  67. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  68. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  69. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  70. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  71. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  72. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`