From da2ac44d77cf594329e30393d0ac2a3bc6bc3ead Mon Sep 17 00:00:00 2001 From: Tomasz Chabora Date: Fri, 6 Nov 2020 13:24:51 +0100 Subject: [PATCH] Add docs for editor viewport drawing methods (cherry picked from commit 5d8b60ac3d3c6df22f4d29642c4139b51bd22e81) --- doc/classes/EditorPlugin.xml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index d53effe4394..6f9f67e1721 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -192,6 +192,19 @@ + Called by the engine when the 2D editor's viewport is updated. Use the [code]overlay[/code] [Control] for drawing. You can update the viewport manually by calling [method update_overlays]. + [codeblock] + func forward_canvas_draw_over_viewport(overlay): + # Draw a circle at cursor position. + overlay.draw_circle(overlay.get_local_mouse_position(), 64) + + func forward_canvas_gui_input(event): + if event is InputEventMouseMotion: + # Redraw viewport when cursor is moved. + update_overlays() + return true + return false + [/codeblock] @@ -200,6 +213,8 @@ + This method is the same as [method forward_canvas_draw_over_viewport], except it draws on top of everything. Useful when you need an extra layer that shows over anything else. + You need to enable calling of this method by using [method set_force_draw_over_forwarding_enabled]. @@ -475,6 +490,7 @@ + Enables calling of [method forward_canvas_force_draw_over_viewport] when the 2D editor's viewport is updated. You need to call this method only once and it will work permanently for this plugin. @@ -506,7 +522,7 @@ - Updates the overlays of the editor (2D/3D) viewport. + Updates the overlays of the 2D and 3D editor viewport. Causes [method forward_canvas_draw_over_viewport] and [method forward_canvas_force_draw_over_viewport] to be called.