diff --git a/src/app_layout.cpp b/src/app_layout.cpp index a08c3d6..0f62e0e 100644 --- a/src/app_layout.cpp +++ b/src/app_layout.cpp @@ -810,6 +810,7 @@ void App::brush_update() quick->m_slider_size->set_value(stroke->m_tip_size->get_value()); *quick->m_button_brush_current_preview->m_brush = *Canvas::I->m_current_brush; quick->m_button_brush_current_preview->draw_stroke(); + quick->m_button_color_current_inner->m_color = Canvas::I->m_current_brush->m_tip_color; } void App::init_menu_layer() diff --git a/src/node_panel_brush.cpp b/src/node_panel_brush.cpp index b0f0823..090ae7e 100644 --- a/src/node_panel_brush.cpp +++ b/src/node_panel_brush.cpp @@ -291,10 +291,10 @@ bool NodePanelBrush::save() { BinaryStreamWriter sw; sw.init(); - sw.wstring_raw("PPVR"); - sw.wu16(0); - sw.wu16(1); - sw.wu32(m_container->m_children.size()); + sw.wstring_raw("PPVR"); // magic code + sw.wu16(0); // version major + sw.wu16(1); // minor + sw.wu32(m_container->m_children.size()); // number of items for (const auto& child : m_container->m_children) { auto b = std::static_pointer_cast(child); diff --git a/src/node_panel_quick.cpp b/src/node_panel_quick.cpp index 254663c..5ce406a 100644 --- a/src/node_panel_quick.cpp +++ b/src/node_panel_quick.cpp @@ -25,7 +25,7 @@ void NodePanelQuick::init() void NodePanelQuick::set_color(glm::vec3 color) { - static_cast(m_button_color_current->m_children[0].get())->m_color = glm::vec4(color, 1.f); + m_button_color_current_inner->m_color = glm::vec4(color, 1.f); } void NodePanelQuick::init_controls() @@ -81,6 +81,7 @@ void NodePanelQuick::init_controls() m_button_color3 = find("quick-color3"); m_button_color_current = m_button_color1; m_button_color_current->set_active(true); + m_button_color_current_inner = static_cast(m_button_color_current->m_children[0].get()); m_button_color1->on_click = std::bind(&this_class::handle_button_color_click, this, std::placeholders::_1); m_button_color2->on_click = std::bind(&this_class::handle_button_color_click, this, std::placeholders::_1); m_button_color3->on_click = std::bind(&this_class::handle_button_color_click, this, std::placeholders::_1); @@ -176,8 +177,9 @@ void NodePanelQuick::handle_button_color_click(Node* target) button->set_active(true); m_button_color_current->set_active(false); m_button_color_current = button; + m_button_color_current_inner = static_cast(m_button_color_current->m_children[0].get()); if (on_color_change) - on_color_change(this, static_cast(button->m_children[0].get())->m_color); + on_color_change(this, m_button_color_current_inner->m_color); return; } diff --git a/src/node_panel_quick.h b/src/node_panel_quick.h index f1add96..b6aae98 100644 --- a/src/node_panel_quick.h +++ b/src/node_panel_quick.h @@ -22,6 +22,7 @@ public: NodeButtonCustom* m_button_color2; NodeButtonCustom* m_button_color3; NodeButtonCustom* m_button_color_current; + NodeBorder* m_button_color_current_inner; NodeButtonCustom* m_button_brush1; NodeButtonCustom* m_button_brush2; NodeButtonCustom* m_button_brush3;