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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVojtech Kral <vojtech@kral.hk>2019-04-01 15:12:05 +0300
committerVojtech Kral <vojtech@kral.hk>2019-04-01 15:28:39 +0300
commit88cc93cdc94ffd95c76d14ddfae2e0b11eb1f320 (patch)
treea4523540e5c305624420d4a59d37b764d39b7c3c /src/slic3r/GUI/ImGuiWrapper.hpp
parent32a49d1468344f43722330bcdcc9495a6e35af61 (diff)
imgui: Refactor font size, font initialization
Diffstat (limited to 'src/slic3r/GUI/ImGuiWrapper.hpp')
-rw-r--r--src/slic3r/GUI/ImGuiWrapper.hpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/slic3r/GUI/ImGuiWrapper.hpp b/src/slic3r/GUI/ImGuiWrapper.hpp
index 7e022532a..476379da2 100644
--- a/src/slic3r/GUI/ImGuiWrapper.hpp
+++ b/src/slic3r/GUI/ImGuiWrapper.hpp
@@ -18,9 +18,6 @@ namespace GUI {
class ImGuiWrapper
{
- typedef std::map<std::string, ImFont*> FontsMap;
-
- FontsMap m_fonts;
const ImWchar *m_glyph_ranges;
float m_font_size;
unsigned m_font_texture;
@@ -31,22 +28,27 @@ class ImGuiWrapper
std::string m_clipboard_text;
public:
- ImGuiWrapper(float font_size);
+ ImGuiWrapper();
~ImGuiWrapper();
void read_glsl_version();
void set_language(const std::string &language);
void set_display_size(float w, float h);
+ void set_font_size(float font_size);
void set_style_scaling(float scaling);
bool update_mouse_data(wxMouseEvent &evt);
bool update_key_data(wxKeyEvent &evt);
+ float get_font_size() const { return m_font_size; }
float get_style_scaling() const { return m_style_scaling; }
void new_frame();
void render();
+ float scaled(float x) const { return x * m_font_size * m_style_scaling; }
+ ImVec2 scaled_vec(float x, float y) const { return ImVec2(x * m_font_size * m_style_scaling, y * m_font_size * m_style_scaling); }
+
void set_next_window_pos(float x, float y, int flag);
void set_next_window_bg_alpha(float alpha);
@@ -64,6 +66,8 @@ public:
void text(const wxString &label);
bool combo(const wxString& label, const std::vector<std::string>& options, int& selection); // Use -1 to not mark any option as selected
+ ImVec2 calc_text_size(const wxString &text);
+
void disabled_begin(bool disabled);
void disabled_end();
@@ -73,15 +77,12 @@ public:
bool want_any_input() const;
private:
- void init_default_font();
- void create_device_objects();
- void create_fonts_texture();
+ void init_font();
void init_input();
void init_style();
void render_draw_data(ImDrawData *draw_data);
bool display_initialized() const;
- void destroy_device_objects();
- void destroy_fonts_texture();
+ void destroy_font();
static const char* clipboard_get(void* user_data);
static void clipboard_set(void* user_data, const char* text);