#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) { }