reorder tool icons, add popup auto-hide after interaction

This commit is contained in:
2019-03-06 18:43:38 +01:00
parent 99929dac39
commit 5eba9f1227
8 changed files with 74 additions and 13 deletions

View File

@@ -36,15 +36,19 @@ void NodeColorPicker::draw()
// m_wheel->m_hsv = hsv;
}
void NodeColorPicker::handle_value_changed()
void NodeColorPicker::added(Node* parent)
{
m_interacted = false;
}
kEventResult NodeColorPicker::handle_event(Event* e)
{
switch (e->m_type)
{
case kEventType::MouseLeave:
if (!m_interacted)
break;
// else fall through
case kEventType::MouseUpL:
if (!m_mouse_inside)
{
@@ -93,6 +97,7 @@ void NodeColorPicker::init_controls()
m_color_cur->m_color = { rgb, 1 };
if (on_color_change)
on_color_change(this, rgb);
m_interacted = true;
};
auto hsv_setter = [this](Node* target, float v)
{
@@ -105,6 +110,7 @@ void NodeColorPicker::init_controls()
m_slider_b->m_value = rgb.z;
if (on_color_change)
on_color_change(this, rgb);
m_interacted = true;
};
m_slider_h->on_value_changed = hsv_setter;
m_slider_s->on_value_changed = hsv_setter;
@@ -121,6 +127,7 @@ void NodeColorPicker::init_controls()
m_slider_v->set_value(hsv.z);
if (on_color_change)
on_color_change(this, rgb);
m_interacted = true;
};
m_slider_r->on_value_changed = rgb_setter;
m_slider_g->on_value_changed = rgb_setter;