mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-14 21:22:27 +08:00
initialization is detected set/unset gui_cfg
This commit is contained in:
parent
1e6483827f
commit
101e57e9ad
@ -115,7 +115,6 @@ GLGizmoEmboss::GLGizmoEmboss(GLCanvas3D &parent)
|
|||||||
: GLGizmoBase(parent, M_ICON_FILENAME, -2)
|
: GLGizmoBase(parent, M_ICON_FILENAME, -2)
|
||||||
, m_volume(nullptr)
|
, m_volume(nullptr)
|
||||||
, m_exist_notification(false)
|
, m_exist_notification(false)
|
||||||
, m_is_initialized(false) // initialize on first opening gizmo
|
|
||||||
, m_rotate_gizmo(parent, GLGizmoRotate::Axis::Z) // grab id = 2 (Z axis)
|
, m_rotate_gizmo(parent, GLGizmoRotate::Axis::Z) // grab id = 2 (Z axis)
|
||||||
, m_font_manager(m_imgui->get_glyph_ranges())
|
, m_font_manager(m_imgui->get_glyph_ranges())
|
||||||
, m_update_job_cancel(nullptr)
|
, m_update_job_cancel(nullptr)
|
||||||
@ -158,7 +157,7 @@ void GLGizmoEmboss::create_volume(ModelVolumeType volume_type, const Vec2d& mous
|
|||||||
assert(volume_type == ModelVolumeType::MODEL_PART ||
|
assert(volume_type == ModelVolumeType::MODEL_PART ||
|
||||||
volume_type == ModelVolumeType::NEGATIVE_VOLUME ||
|
volume_type == ModelVolumeType::NEGATIVE_VOLUME ||
|
||||||
volume_type == ModelVolumeType::PARAMETER_MODIFIER);
|
volume_type == ModelVolumeType::PARAMETER_MODIFIER);
|
||||||
if (!m_is_initialized) initialize();
|
if (!m_gui_cfg.has_value()) initialize();
|
||||||
set_default_text();
|
set_default_text();
|
||||||
|
|
||||||
Vec2d screen_coor = mouse_pos;
|
Vec2d screen_coor = mouse_pos;
|
||||||
@ -596,9 +595,10 @@ void GLGizmoEmboss::on_set_state()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_volume = nullptr;
|
m_volume = nullptr;
|
||||||
|
|
||||||
remove_notification_not_valid_font();
|
remove_notification_not_valid_font();
|
||||||
} else if (GLGizmoBase::m_state == GLGizmoBase::On) {
|
} else if (GLGizmoBase::m_state == GLGizmoBase::On) {
|
||||||
if (!m_is_initialized) initialize();
|
if (!m_gui_cfg.has_value()) initialize();
|
||||||
|
|
||||||
// to reload fonts from system, when install new one
|
// to reload fonts from system, when install new one
|
||||||
wxFontEnumerator::InvalidateCache();
|
wxFontEnumerator::InvalidateCache();
|
||||||
@ -629,11 +629,9 @@ void GLGizmoEmboss::on_dragging(const UpdateData &data) { m_rotate_gizmo.draggin
|
|||||||
|
|
||||||
void GLGizmoEmboss::initialize()
|
void GLGizmoEmboss::initialize()
|
||||||
{
|
{
|
||||||
if (m_is_initialized) return;
|
if (m_gui_cfg.has_value()) return;
|
||||||
m_is_initialized = true;
|
|
||||||
|
|
||||||
GuiCfg cfg; // initialize by default values;
|
GuiCfg cfg; // initialize by default values;
|
||||||
|
|
||||||
float line_height = ImGui::GetTextLineHeight();
|
float line_height = ImGui::GetTextLineHeight();
|
||||||
float line_height_with_spacing = ImGui::GetTextLineHeightWithSpacing();
|
float line_height_with_spacing = ImGui::GetTextLineHeightWithSpacing();
|
||||||
float space = line_height_with_spacing - line_height;
|
float space = line_height_with_spacing - line_height;
|
||||||
@ -715,7 +713,7 @@ void GLGizmoEmboss::initialize()
|
|||||||
cfg.min_style_image_height = line_height_with_spacing;
|
cfg.min_style_image_height = line_height_with_spacing;
|
||||||
cfg.max_style_image_width = cfg.max_font_name_width -
|
cfg.max_style_image_width = cfg.max_font_name_width -
|
||||||
2 * style.FramePadding.x;
|
2 * style.FramePadding.x;
|
||||||
m_gui_cfg.emplace(cfg);
|
m_gui_cfg.emplace(std::move(cfg));
|
||||||
|
|
||||||
init_icons();
|
init_icons();
|
||||||
|
|
||||||
|
@ -250,9 +250,6 @@ private:
|
|||||||
// Only when drag text object it stores world position
|
// Only when drag text object it stores world position
|
||||||
std::optional<Transform3d> m_temp_transformation;
|
std::optional<Transform3d> m_temp_transformation;
|
||||||
|
|
||||||
// initialize when GL is accessible
|
|
||||||
bool m_is_initialized;
|
|
||||||
|
|
||||||
// drawing icons
|
// drawing icons
|
||||||
GLTexture m_icons_texture;
|
GLTexture m_icons_texture;
|
||||||
void init_icons();
|
void init_icons();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user