diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2020-06-09 18:33:54 -0300 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2020-06-09 18:33:54 -0300 |
commit | 5e68e62fb23f15f26e24823bf21b012ab4dfd1e0 (patch) | |
tree | 6ea2989fbcee7eeb1fa8ee9ebe946a8de1be1e82 /Project/ControlEditorDC.cpp | |
parent | c5636d2031b20e673441e095d90ba94942698e7c (diff) | |
download | PSP.git-5e68e62fb23f15f26e24823bf21b012ab4dfd1e0.tar.gz PSP.git-5e68e62fb23f15f26e24823bf21b012ab4dfd1e0.tar.xz PSP.git-5e68e62fb23f15f26e24823bf21b012ab4dfd1e0.zip |
Control Editor device context draw imp init
Diffstat (limited to 'Project/ControlEditorDC.cpp')
-rw-r--r-- | Project/ControlEditorDC.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Project/ControlEditorDC.cpp b/Project/ControlEditorDC.cpp new file mode 100644 index 0000000..84e212d --- /dev/null +++ b/Project/ControlEditorDC.cpp @@ -0,0 +1,31 @@ +#include "ControlEditorDC.h" +#include "Camera.h" + +ControlEditorDC::ControlEditorDC(wxWindow* parent, int ioflags) : ControlEditor(parent, nullptr, ioflags) +{ + BuildControlElementPanel(); + m_camera = new Camera(); + m_selectionRect = wxRect2DDouble(0, 0, 0, 0); + // m_camera->SetScale(1.2); + m_ioFlags = ioflags; + + this->GetSizer()->Remove(this->GetSizer()->GetChildren()[0]->GetId()); // remove m_glCanvas object from sizer + + delete m_glCanvas; // Delete GLCanvas to allow drawing with wxDC + m_glCanvas = nullptr; + SetBackgroundColour(wxColour(255, 255, 255)); + SetBackgroundStyle(wxBG_STYLE_PAINT); // To allow wxBufferedPaintDC works properly. + Redraw(); +} + +ControlEditorDC::~ControlEditorDC() +{ + // Recreate the GLCanvas. This is necessary to prevent WorkspaceBase destructor access nullpr. + // Also avoid the code editing of WorkspaceBase, since is automatically generated by wxCrafter. + // TODO(?): Find a better way to solve this problem. + m_glCanvas = new wxGLCanvas(this); +} + +void ControlEditorDC::OnPaint(wxPaintEvent& event) +{ +} |