#ifndef slic3r_TextLines_hpp_ #define slic3r_TextLines_hpp_ #include #include #include #include #include "slic3r/GUI/GLModel.hpp" namespace Slic3r::GUI { class Selection; class TextLinesModel { public: // line offset in y direction (up/down) float offset = 0; /// /// Initialize model and lines /// /// Must be selected text volume /// Height of text line with spacing [in mm] /// Offset of base line from center [in mm] void init(const Selection &selection, double line_height); void render(const Transform3d &text_world); bool is_init() const { return m_model.is_initialized(); } void reset() { m_model.reset(); } const Slic3r::Emboss::TextLines &get_lines() const { return m_lines; } static double calc_line_height(const Slic3r::Emboss::FontFile& ff, const FontProp& fp); private: Slic3r::Emboss::TextLines m_lines; // Keep model for visualization text lines GLModel m_model; }; } // namespace Slic3r::GUI #endif // slic3r_TextLines_hpp_