diff options
author | kobewi <kobewi4e@gmail.com> | 2022-03-13 16:02:24 +0100 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2022-03-13 16:05:08 +0100 |
commit | bcf13dc1756d3668478204eaace47db77942346a (patch) | |
tree | 47ef110f8752ef8c95da005cb110e5c7ee305654 /doc | |
parent | c8fce1661da2ed02e94d3edd91fc3f31aa6888cc (diff) |
Expose methods for screen-space transforms
Diffstat (limited to 'doc')
-rw-r--r-- | doc/classes/CanvasItem.xml | 7 | ||||
-rw-r--r-- | doc/classes/Control.xml | 13 | ||||
-rw-r--r-- | doc/classes/Viewport.xml | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index d71762801c..c7451509f3 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -355,6 +355,13 @@ Returns the mouse's position in this [CanvasItem] using the local coordinate system of this [CanvasItem]. </description> </method> + <method name="get_screen_transform" qualifiers="const"> + <return type="Transform2D" /> + <description> + Returns the transform of this [CanvasItem] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins. + Equals to [method get_global_transform] if the window is embedded (see [member Viewport.gui_embed_subwindows]). + </description> + </method> <method name="get_transform" qualifiers="const"> <return type="Transform2D" /> <description> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 97fd584ed1..3163ac5610 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -417,6 +417,19 @@ Returns the position and size of the control relative to the top-left corner of the parent Control. See [member position] and [member size]. </description> </method> + <method name="get_screen_position" qualifiers="const"> + <return type="Vector2" /> + <description> + Returns the position of this [Control] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins. + Equals to [member global_position] if the window is embedded (see [member Viewport.gui_embed_subwindows]). + Example usage for showing a popup: + [codeblock] + popup_menu.position = get_screen_position() + get_local_mouse_position() + popup_menu.reset_size() + popup_menu.popup() + [/codeblock] + </description> + </method> <method name="get_theme_color" qualifiers="const"> <return type="Color" /> <argument index="0" name="name" type="StringName" /> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index ce61f51b9a..825fbd108b 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -220,6 +220,7 @@ If [code]true[/code], the viewport will not receive input events. </member> <member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false"> + If [code]true[/code], sub-windows (popups and dialogs) will be embedded inside application window as control-like nodes. If [code]false[/code], they will appear as separate windows handled by the operating system. </member> <member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true"> If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly. |