Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2018-06-27 13:36:49 +0300
committerEnrico Turri <enricoturri@seznam.cz>2018-06-27 13:36:49 +0300
commit8db4fdc24c2fa17f359065038f738e032db23d92 (patch)
tree26c2aaf163b5c98746662b1b7a9d0ed424d6e153 /xs
parent23d10fdadc7810eeec999c1e34f81f5d55d3cda6 (diff)
3rd attempt to fix opengl on ubuntu
Diffstat (limited to 'xs')
-rw-r--r--xs/src/slic3r/GUI/3DScene.cpp10
-rw-r--r--xs/src/slic3r/GUI/3DScene.hpp4
-rw-r--r--xs/src/slic3r/GUI/GLCanvas3D.cpp34
-rw-r--r--xs/src/slic3r/GUI/GLCanvas3D.hpp12
-rw-r--r--xs/src/slic3r/GUI/GLCanvas3DManager.cpp14
-rw-r--r--xs/src/slic3r/GUI/GLCanvas3DManager.hpp2
-rw-r--r--xs/xsp/GUI_3DScene.xsp7
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: