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
diff options
context:
space:
mode:
Diffstat (limited to 'xs/src/slic3r/GUI/GLGizmo.hpp')
-rw-r--r--xs/src/slic3r/GUI/GLGizmo.hpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/xs/src/slic3r/GUI/GLGizmo.hpp b/xs/src/slic3r/GUI/GLGizmo.hpp
index 3ca8e3213..a626305c1 100644
--- a/xs/src/slic3r/GUI/GLGizmo.hpp
+++ b/xs/src/slic3r/GUI/GLGizmo.hpp
@@ -4,6 +4,10 @@
#include "../../slic3r/GUI/GLTexture.hpp"
namespace Slic3r {
+
+class BoundingBoxf3;
+class Pointf3;
+
namespace GUI {
class GLGizmoBase
@@ -35,10 +39,11 @@ public:
unsigned int get_textures_id() const;
int get_textures_size() const;
- virtual void render() const = 0;
+ void render(const BoundingBoxf3& box) const;
protected:
virtual bool on_init() = 0;
+ virtual void on_render(const BoundingBoxf3& box) const = 0;
};
class GLGizmoRotate : public GLGizmoBase
@@ -50,14 +55,16 @@ class GLGizmoRotate : public GLGizmoBase
public:
GLGizmoRotate();
- void render() const;
-
protected:
virtual bool on_init();
+ virtual void on_render(const BoundingBoxf3& box) const;
};
class GLGizmoScale : public GLGizmoBase
{
+ static const float Offset;
+ static const float SquareHalfSize;
+
float m_scale_x;
float m_scale_y;
float m_scale_z;
@@ -65,10 +72,12 @@ class GLGizmoScale : public GLGizmoBase
public:
GLGizmoScale();
- void render() const;
-
protected:
virtual bool on_init();
+ virtual void on_render(const BoundingBoxf3& box) const;
+
+private:
+ void _render_square(const Pointf3& center) const;
};
} // namespace GUI