pen state and buttons color when active
This commit is contained in:
@@ -845,6 +845,11 @@ public:
|
||||
m_color = color_normal;
|
||||
m_mouse_ignore = false;
|
||||
}
|
||||
void set_color(const glm::vec4& c)
|
||||
{
|
||||
color_normal = c;
|
||||
m_color = color_normal;
|
||||
}
|
||||
virtual kEventResult handle_event(Event* e) override
|
||||
{
|
||||
NodeBorder::handle_event(e);
|
||||
@@ -1489,6 +1494,11 @@ public:
|
||||
if (on_layer_change)
|
||||
on_layer_change(this, -1, m_layers_container->get_child_index(m_current_layer));
|
||||
}
|
||||
void clear()
|
||||
{
|
||||
m_layers_container->remove_all_children();
|
||||
m_layers.clear();
|
||||
}
|
||||
};
|
||||
|
||||
class NodeButtonBrush : public NodeButtonCustom
|
||||
@@ -1771,6 +1781,7 @@ public:
|
||||
init_controls();
|
||||
if (m_size.x > 0 && m_size.y > 0)
|
||||
m_rtt.create(m_size.x, m_size.y);
|
||||
draw_stroke();
|
||||
}
|
||||
virtual void clear_context() override
|
||||
{
|
||||
@@ -2043,7 +2054,8 @@ public:
|
||||
ui::ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp);
|
||||
for (auto layer_index : m_canvas->m_order)
|
||||
{
|
||||
if (!(m_canvas->m_erase && m_canvas->m_show_tmp && m_canvas->m_current_layer_idx == layer_index))
|
||||
if (!(m_canvas->m_state == ui::Canvas::kPenState::Erase &&
|
||||
m_canvas->m_show_tmp && m_canvas->m_current_layer_idx == layer_index))
|
||||
{
|
||||
ui::ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index].m_opacity);
|
||||
m_canvas->m_layers[layer_index].m_rtt[plane_index].bindTexture();
|
||||
@@ -2130,7 +2142,7 @@ public:
|
||||
break;
|
||||
case kEventType::KeyDown:
|
||||
if (ke->m_key == kKey::KeyE)
|
||||
m_canvas->m_erase = true;
|
||||
m_canvas->m_state = ui::Canvas::kPenState::Erase;
|
||||
if (ke->m_key == kKey::KeySpacebar)
|
||||
m_canvas->m_alpha_lock = true;
|
||||
if (ke->m_key == kKey::AndroidVolumeUp)
|
||||
@@ -2140,7 +2152,7 @@ public:
|
||||
break;
|
||||
case kEventType::KeyUp:
|
||||
if (ke->m_key == kKey::KeyE)
|
||||
m_canvas->m_erase = false;
|
||||
m_canvas->m_state = ui::Canvas::kPenState::Draw;
|
||||
if (ke->m_key == kKey::KeySpacebar)
|
||||
m_canvas->m_alpha_lock = false;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user