diff options
| author | Juan Linietsky | 2017-06-11 11:29:27 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2017-06-11 11:29:51 -0300 |
| commit | ec015a32ae4fed154ed6d0bd002c1e653d74a2c3 (patch) | |
| tree | aa9d4196688ff16930f21e287033a2bfcf64dbf4 /editor/plugins/spatial_editor_plugin.h | |
| parent | d4e64e0e60ee9377bedb1c3324bd346abc129aae (diff) | |
| download | godot-ec015a32ae4fed154ed6d0bd002c1e653d74a2c3.tar.gz godot-ec015a32ae4fed154ed6d0bd002c1e653d74a2c3.tar.zst godot-ec015a32ae4fed154ed6d0bd002c1e653d74a2c3.zip | |
Multiple 3D viewports are not operational.
Diffstat (limited to 'editor/plugins/spatial_editor_plugin.h')
| -rw-r--r-- | editor/plugins/spatial_editor_plugin.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 394002db3..d96e6090f 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -287,6 +287,43 @@ public: ~SpatialEditorSelectedItem(); }; +class SpatialEditorViewportContainer : public Container { + + GDCLASS(SpatialEditorViewportContainer, Container) +public: + enum View { + VIEW_USE_1_VIEWPORT, + VIEW_USE_2_VIEWPORTS, + VIEW_USE_2_VIEWPORTS_ALT, + VIEW_USE_3_VIEWPORTS, + VIEW_USE_3_VIEWPORTS_ALT, + VIEW_USE_4_VIEWPORTS, + }; + +private: + View view; + bool mouseover; + float ratio_h; + float ratio_v; + + bool dragging_v; + bool dragging_h; + Vector2 drag_begin_pos; + Vector2 drag_begin_ratio; + + void _gui_input(const Ref<InputEvent> &p_event); + +protected: + void _notification(int p_what); + static void _bind_methods(); + +public: + void set_view(View p_view); + View get_view(); + + SpatialEditorViewportContainer(); +}; + class SpatialEditor : public VBoxContainer { GDCLASS(SpatialEditor, VBoxContainer); @@ -309,7 +346,7 @@ private: EditorNode *editor; EditorSelection *editor_selection; - Control *viewport_base; + SpatialEditorViewportContainer *viewport_base; SpatialEditorViewport *viewports[VIEWPORTS_COUNT]; VSplitContainer *shader_split; HSplitContainer *palette_split; |
