mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Gray icons for gizmos in disabled state
This commit is contained in:
parent
d0a3e8d41d
commit
a7b12f97db
7 changed files with 38 additions and 3 deletions
|
@ -46,4 +46,7 @@
|
||||||
// Enable adaptive layer height profile
|
// Enable adaptive layer height profile
|
||||||
#define ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE (1 && ENABLE_2_2_0_ALPHA1)
|
#define ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE (1 && ENABLE_2_2_0_ALPHA1)
|
||||||
|
|
||||||
|
// Enable grayed variant for gizmos icons in non activable state
|
||||||
|
#define ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE (1 && ENABLE_2_2_0_ALPHA1)
|
||||||
|
|
||||||
#endif // _technologies_h_
|
#endif // _technologies_h_
|
||||||
|
|
|
@ -48,6 +48,13 @@ std::string GLGizmoMove3D::on_get_name() const
|
||||||
return (_(L("Move")) + " [M]").ToUTF8().data();
|
return (_(L("Move")) + " [M]").ToUTF8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
bool GLGizmoMove3D::on_is_activable() const
|
||||||
|
{
|
||||||
|
return !m_parent.get_selection().is_empty();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
void GLGizmoMove3D::on_start_dragging()
|
void GLGizmoMove3D::on_start_dragging()
|
||||||
{
|
{
|
||||||
if (m_hover_id != -1)
|
if (m_hover_id != -1)
|
||||||
|
|
|
@ -33,6 +33,9 @@ public:
|
||||||
protected:
|
protected:
|
||||||
virtual bool on_init();
|
virtual bool on_init();
|
||||||
virtual std::string on_get_name() const;
|
virtual std::string on_get_name() const;
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
virtual bool on_is_activable() const;
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
virtual void on_start_dragging();
|
virtual void on_start_dragging();
|
||||||
virtual void on_stop_dragging();
|
virtual void on_stop_dragging();
|
||||||
virtual void on_update(const UpdateData& data);
|
virtual void on_update(const UpdateData& data);
|
||||||
|
|
|
@ -449,6 +449,13 @@ std::string GLGizmoRotate3D::on_get_name() const
|
||||||
return (_(L("Rotate")) + " [R]").ToUTF8().data();
|
return (_(L("Rotate")) + " [R]").ToUTF8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
bool GLGizmoRotate3D::on_is_activable() const
|
||||||
|
{
|
||||||
|
return !m_parent.get_selection().is_empty();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
void GLGizmoRotate3D::on_start_dragging()
|
void GLGizmoRotate3D::on_start_dragging()
|
||||||
{
|
{
|
||||||
if ((0 <= m_hover_id) && (m_hover_id < 3))
|
if ((0 <= m_hover_id) && (m_hover_id < 3))
|
||||||
|
|
|
@ -104,6 +104,9 @@ protected:
|
||||||
if (id < 3)
|
if (id < 3)
|
||||||
m_gizmos[id].disable_grabber(0);
|
m_gizmos[id].disable_grabber(0);
|
||||||
}
|
}
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
virtual bool on_is_activable() const;
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
virtual void on_start_dragging();
|
virtual void on_start_dragging();
|
||||||
virtual void on_stop_dragging();
|
virtual void on_stop_dragging();
|
||||||
virtual void on_update(const UpdateData& data)
|
virtual void on_update(const UpdateData& data)
|
||||||
|
|
|
@ -49,7 +49,12 @@ std::string GLGizmoScale3D::on_get_name() const
|
||||||
|
|
||||||
bool GLGizmoScale3D::on_is_activable() const
|
bool GLGizmoScale3D::on_is_activable() const
|
||||||
{
|
{
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
const Selection& selection = m_parent.get_selection();
|
||||||
|
return !selection.is_empty() && !selection.is_wipe_tower();
|
||||||
|
#else
|
||||||
return !m_parent.get_selection().is_wipe_tower();
|
return !m_parent.get_selection().is_wipe_tower();
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLGizmoScale3D::on_start_dragging()
|
void GLGizmoScale3D::on_start_dragging()
|
||||||
|
|
|
@ -885,7 +885,11 @@ void GLGizmosManager::do_render_overlay() const
|
||||||
GLGizmoBase* gizmo = m_gizmos[idx].get();
|
GLGizmoBase* gizmo = m_gizmos[idx].get();
|
||||||
|
|
||||||
unsigned int sprite_id = gizmo->get_sprite_id();
|
unsigned int sprite_id = gizmo->get_sprite_id();
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
int icon_idx = (m_current == idx) ? 2 : ((m_hover == idx) ? 1 : (gizmo->is_activable()? 0 : 3));
|
||||||
|
#else
|
||||||
int icon_idx = m_current == idx ? 2 : (m_hover == idx ? 1 : 0);
|
int icon_idx = m_current == idx ? 2 : (m_hover == idx ? 1 : 0);
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
float u_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_width;
|
float u_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_width;
|
||||||
float v_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_height;
|
float v_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_height;
|
||||||
|
@ -951,9 +955,12 @@ bool GLGizmosManager::generate_icons_texture() const
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int, bool>> states;
|
std::vector<std::pair<int, bool>> states;
|
||||||
states.push_back(std::make_pair(1, false));
|
states.push_back(std::make_pair(1, false)); // Activable
|
||||||
states.push_back(std::make_pair(0, false));
|
states.push_back(std::make_pair(0, false)); // Hovered
|
||||||
states.push_back(std::make_pair(0, true));
|
states.push_back(std::make_pair(0, true)); // Selected
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
states.push_back(std::make_pair(2, false)); // Disabled
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
unsigned int sprite_size_px = (unsigned int)(m_overlay_icons_size * m_overlay_scale);
|
unsigned int sprite_size_px = (unsigned int)(m_overlay_icons_size * m_overlay_scale);
|
||||||
// // force even size
|
// // force even size
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue