summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTetane <stephane.roussel.fr@gmail.com>2023-04-28 20:10:04 +0200
committerTetane <stephane.roussel.fr@gmail.com>2023-04-28 22:43:47 +0200
commitd3792a237331f56efdb36b1753f171ddc99629db (patch)
tree876a56cbf71a5af2bc96e9ac8535744ba7f5738a
parent9f12e7b52d944281a39b7d3a33de6700c76cc23a (diff)
downloadredot-engine-d3792a237331f56efdb36b1753f171ddc99629db.tar.gz
Use a SubViewport for CanvasItem inspector preview
-rw-r--r--editor/plugins/material_editor_plugin.cpp12
-rw-r--r--editor/plugins/material_editor_plugin.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp
index 2fdebc7c7f..404711e074 100644
--- a/editor/plugins/material_editor_plugin.cpp
+++ b/editor/plugins/material_editor_plugin.cpp
@@ -164,9 +164,19 @@ void MaterialEditor::_button_pressed(Node *p_button) {
MaterialEditor::MaterialEditor() {
// canvas item
+ vc_2d = memnew(SubViewportContainer);
+ vc_2d->set_stretch(true);
+ add_child(vc_2d);
+ vc_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
+
+ viewport_2d = memnew(SubViewport);
+ vc_2d->add_child(viewport_2d);
+ viewport_2d->set_disable_input(true);
+ viewport_2d->set_transparent_background(true);
+
layout_2d = memnew(HBoxContainer);
layout_2d->set_alignment(BoxContainer::ALIGNMENT_CENTER);
- add_child(layout_2d);
+ viewport_2d->add_child(layout_2d);
layout_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
rect_instance = memnew(ColorRect);
diff --git a/editor/plugins/material_editor_plugin.h b/editor/plugins/material_editor_plugin.h
index deb1211c54..ac81bdc7c7 100644
--- a/editor/plugins/material_editor_plugin.h
+++ b/editor/plugins/material_editor_plugin.h
@@ -51,6 +51,8 @@ class MaterialEditor : public Control {
Vector2 rot;
+ SubViewportContainer *vc_2d = nullptr;
+ SubViewport *viewport_2d = nullptr;
HBoxContainer *layout_2d = nullptr;
ColorRect *rect_instance = nullptr;