diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2018-06-27 13:36:49 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2018-06-27 13:36:49 +0300 |
commit | 8db4fdc24c2fa17f359065038f738e032db23d92 (patch) | |
tree | 26c2aaf163b5c98746662b1b7a9d0ed424d6e153 /xs | |
parent | 23d10fdadc7810eeec999c1e34f81f5d55d3cda6 (diff) |
3rd attempt to fix opengl on ubuntu
Diffstat (limited to 'xs')
-rw-r--r-- | xs/src/slic3r/GUI/3DScene.cpp | 10 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/3DScene.hpp | 4 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/GLCanvas3D.cpp | 34 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/GLCanvas3D.hpp | 12 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/GLCanvas3DManager.cpp | 14 | ||||
-rw-r--r-- | xs/src/slic3r/GUI/GLCanvas3DManager.hpp | 2 | ||||
-rw-r--r-- | xs/xsp/GUI_3DScene.xsp | 7 |
7 files changed, 45 insertions, 38 deletions
diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index 556be56bc..ac2304c69 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -1764,13 +1764,13 @@ bool _3DScene::init(wxGLCanvas* canvas) //{ // s_canvas_mgr.set_current(nullptr, false); //} +// +//void _3DScene::set_active(wxGLCanvas* canvas, bool active) +//{ +// s_canvas_mgr.set_active(canvas, active); +//} //################################################################################################################# -void _3DScene::set_active(wxGLCanvas* canvas, bool active) -{ - s_canvas_mgr.set_active(canvas, active); -} - void _3DScene::set_as_dirty(wxGLCanvas* canvas) { s_canvas_mgr.set_as_dirty(canvas); diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index a375bd756..d34a79ee3 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -519,9 +519,9 @@ public: //################################################################################################################# // static bool set_current(wxGLCanvas* canvas, bool force); // static void reset_current_canvas(); +// +// static void set_active(wxGLCanvas* canvas, bool active); //################################################################################################################# - - static void set_active(wxGLCanvas* canvas, bool active); static void set_as_dirty(wxGLCanvas* canvas); static unsigned int get_volumes_count(wxGLCanvas* canvas); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index d44106337..e3a3b1572 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -1422,7 +1422,9 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas) , m_print(nullptr) , m_model(nullptr) , m_dirty(true) - , m_active(true) +//################################################################################################################# +// , m_active(true) +//################################################################################################################# , m_initialized(false) , m_use_VBOs(false) , m_force_zoom_to_bed_enabled(false) @@ -1552,10 +1554,8 @@ bool GLCanvas3D::set_current() { if ((m_canvas != nullptr) && (m_context != nullptr)) // if (m_active && (m_canvas != nullptr) && (m_context != nullptr)) - { -// std::cout << "set_current: " << (void*)m_canvas << " - " << (void*)m_context << std::endl; return m_canvas->SetCurrent(*m_context); - } + return false; } @@ -1568,10 +1568,12 @@ bool GLCanvas3D::set_current() //} //################################################################################################################# -void GLCanvas3D::set_active(bool active) -{ - m_active = active; -} +//################################################################################################################# +//void GLCanvas3D::set_active(bool active) +//{ +// m_active = active; +//} +//################################################################################################################# void GLCanvas3D::set_as_dirty() { @@ -2753,9 +2755,13 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } else if (evt.LeftDClick() && (m_hover_volume_id != -1)) { - m_active = false; +//################################################################################################################# +// m_active = false; +//################################################################################################################# m_on_double_click_callback.call(); - m_active = true; +//################################################################################################################# +// m_active = true; +//################################################################################################################# } else if (evt.LeftDown() || evt.RightDown()) { @@ -2853,9 +2859,13 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) // if right clicking on volume, propagate event through callback if (m_volumes.volumes[volume_idx]->hover) { - m_active = false; +//################################################################################################################# +// m_active = false; +//################################################################################################################# m_on_right_click_callback.call(pos.x, pos.y); - m_active = true; +//################################################################################################################# +// m_active = true; +//################################################################################################################# } } } diff --git a/xs/src/slic3r/GUI/GLCanvas3D.hpp b/xs/src/slic3r/GUI/GLCanvas3D.hpp index 181f5d1ac..2ab7863aa 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.hpp @@ -401,9 +401,11 @@ private: Model* m_model; bool m_dirty; - // the active member has been introduced to overcome a bug in wxWidgets method IsShownOnScreen() which always return true - // when a window is inside a wxNotebook - bool m_active; +//################################################################################################################# +// // the active member has been introduced to overcome a bug in wxWidgets method IsShownOnScreen() which always return true +// // when a window is inside a wxNotebook +// bool m_active; +//################################################################################################################# bool m_initialized; bool m_use_VBOs; bool m_force_zoom_to_bed_enabled; @@ -457,7 +459,9 @@ public: // bool set_current(bool force); //################################################################################################################# - void set_active(bool active); +//################################################################################################################# +// void set_active(bool active); +//################################################################################################################# void set_as_dirty(); unsigned int get_volumes_count() const; diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp index 0021f13eb..660f1f41f 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -251,15 +251,15 @@ bool GLCanvas3DManager::init(wxGLCanvas* canvas) // m_current = nullptr; // return false; //} +// +//void GLCanvas3DManager::set_active(wxGLCanvas* canvas, bool active) +//{ +// CanvasesMap::iterator it = _get_canvas(canvas); +// if (it != m_canvases.end()) +// it->second->set_active(active); +//} //################################################################################################################# -void GLCanvas3DManager::set_active(wxGLCanvas* canvas, bool active) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_active(active); -} - void GLCanvas3DManager::set_as_dirty(wxGLCanvas* canvas) { CanvasesMap::iterator it = _get_canvas(canvas); diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp index 57e6f503d..c5b03a553 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -74,8 +74,8 @@ public: //################################################################################################################# // bool set_current(wxGLCanvas* canvas, bool force); +// void set_active(wxGLCanvas* canvas, bool active); //################################################################################################################# - void set_active(wxGLCanvas* canvas, bool active); void set_as_dirty(wxGLCanvas* canvas); unsigned int get_volumes_count(wxGLCanvas* canvas) const; diff --git a/xs/xsp/GUI_3DScene.xsp b/xs/xsp/GUI_3DScene.xsp index d46c06120..48bd30cd1 100644 --- a/xs/xsp/GUI_3DScene.xsp +++ b/xs/xsp/GUI_3DScene.xsp @@ -191,13 +191,6 @@ remove_all_canvases() _3DScene::remove_all_canvases(); void -set_active(canvas, active) - SV *canvas; - bool active; - CODE: - _3DScene::set_active((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), active); - -void set_as_dirty(canvas) SV *canvas; CODE: |