integrate quick brushes, simulate pressed keys on windows active

This commit is contained in:
2019-03-05 23:41:43 +01:00
parent 1cbe9a4a76
commit b0933c29fb
8 changed files with 79 additions and 44 deletions

View File

@@ -30,12 +30,6 @@ void NodePanelQuick::set_color(glm::vec3 color)
void NodePanelQuick::init_controls()
{
//auto s = find<NodeStrokePreview>("quick-brush1");
//s->m_brush = std::make_shared<Brush>();
//s->m_max_size = 10;
//s->m_brush->load_tip("data/brushes/Round-Hard.png", "data/brushes/thumbs/Round-Hard.png");
//s->draw_stroke();
m_picker = std::make_shared<NodeColorPicker>();
m_picker->m_manager = m_manager;
m_picker->init();
@@ -47,13 +41,17 @@ void NodePanelQuick::init_controls()
m_slider_size = find<NodeSliderV>("quick-size");
m_slider_size->on_value_changed = [this](Node* target, float value) {
static_cast<NodeStrokePreview*>(m_button_brush_current->m_children[0].get())->draw_stroke();
auto m = static_cast<CanvasModePen*>(Canvas::I->modes[(int)kCanvasMode::Draw][0]);
m->m_cur_pos = m_pos + glm::vec2(m_size.x / 2.f, -50.f);
m_button_brush_current_preview->draw_stroke();
if (on_size_change)
on_size_change(target, value);
};
m_slider_flow = find<NodeSliderV>("quick-flow");
m_slider_flow->on_value_changed = [this](Node* target, float value) {
static_cast<NodeStrokePreview*>(m_button_brush_current->m_children[0].get())->draw_stroke();
auto m = static_cast<CanvasModePen*>(Canvas::I->modes[(int)kCanvasMode::Draw][0]);
m->m_cur_pos = m_pos + glm::vec2(m_size.x / 2.f, -50.f);
m_button_brush_current_preview->draw_stroke();
if (on_flow_change)
on_flow_change(target, value);
};
@@ -78,6 +76,7 @@ void NodePanelQuick::init_controls()
m_button_brush3 = init_button_brush("quick-brush3");
m_button_brush_current = m_button_brush1;
m_button_brush_current->set_active(true);
m_button_brush_current_preview = static_cast<NodeStrokePreview*>(m_button_brush_current->m_children[0].get());
}
NodeButtonCustom* NodePanelQuick::init_button_brush(const std::string& name)
@@ -103,8 +102,9 @@ void NodePanelQuick::handle_button_brush_click(Node* button)
b->set_active(true);
m_button_brush_current->set_active(false);
m_button_brush_current = b;
m_button_brush_current_preview = static_cast<NodeStrokePreview*>(button->m_children[0].get());
if (on_brush_change)
on_brush_change(this, static_cast<NodeStrokePreview*>(button->m_children[0].get())->m_brush);
on_brush_change(this, m_button_brush_current_preview->m_brush);
return;
}