diff options
Diffstat (limited to 'xs/src/slic3r/GUI/GLGizmo.hpp')
-rw-r--r-- | xs/src/slic3r/GUI/GLGizmo.hpp | 19 |
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 |