refactor canvas modes
This commit is contained in:
30
src/app.cpp
30
src/app.cpp
@@ -475,18 +475,26 @@ void App::update(float dt)
|
||||
}
|
||||
}
|
||||
|
||||
static glm::vec4 color_button_normal{.1, .1, .1, 1};
|
||||
static glm::vec4 color_button_hlight{ 1, .0, .0, 1};
|
||||
CanvasModePen* mode = (CanvasModePen*)canvas->m_canvas->modes[(int)Canvas::kCanvasMode::Draw][0];
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-pick")->set_color(
|
||||
mode->m_picking ? color_button_hlight : color_button_normal);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-pen")->set_color(
|
||||
canvas->m_canvas->m_current_mode == Canvas::kCanvasMode::Draw ? color_button_hlight : color_button_normal);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-erase")->set_color(
|
||||
canvas->m_canvas->m_current_mode == Canvas::kCanvasMode::Erase ? color_button_hlight : color_button_normal);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-touchlock")->set_color(
|
||||
canvas->m_canvas->m_touch_lock ? color_button_hlight : color_button_normal);
|
||||
{
|
||||
static glm::vec4 color_button_normal{ .1, .1, .1, 1 };
|
||||
static glm::vec4 color_button_hlight{ 1, .0, .0, 1 };
|
||||
|
||||
auto mode = Canvas::I->m_current_mode;
|
||||
|
||||
CanvasModePen* pm = (CanvasModePen*)canvas->m_canvas->modes[(int)kCanvasMode::Draw][0];
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-pick")->set_active(mode == kCanvasMode::Draw && pm->m_picking);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-touchlock")->set_active(canvas->m_canvas->m_touch_lock);
|
||||
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-pen")->set_active(mode == kCanvasMode::Draw);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-erase")->set_active(mode == kCanvasMode::Erase);
|
||||
layout[main_id]->find<NodeButton>("btn-cam")->set_active(mode == kCanvasMode::Camera);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-line")->set_active(mode == kCanvasMode::Line);
|
||||
layout[main_id]->find<NodeButton>("btn-grid")->set_active(mode == kCanvasMode::Grid);
|
||||
layout[main_id]->find<NodeButton>("btn-copy")->set_active(mode == kCanvasMode::Copy);
|
||||
layout[main_id]->find<NodeButton>("btn-cut")->set_active(mode == kCanvasMode::Cut);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-mask-free")->set_active(mode == kCanvasMode::MaskFree);
|
||||
layout[main_id]->find<NodeButtonCustom>("btn-mask-line")->set_active(mode == kCanvasMode::MaskLine);
|
||||
}
|
||||
|
||||
auto observer = [this](Node* n)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user