From a961630eb46a0678e0d65f15b32ba3b66c502334 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Thu, 28 Feb 2019 10:23:34 +0100 Subject: [PATCH] increase stroke preview pad, fix message box capture behavior --- src/node.cpp | 4 +++- src/node_message_box.cpp | 7 +++++++ src/node_message_box.h | 1 + src/node_stroke_preview.cpp | 5 +++-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/node.cpp b/src/node.cpp index 1005744..8892853 100644 --- a/src/node.cpp +++ b/src/node.cpp @@ -400,7 +400,9 @@ void Node::mouse_capture() // so preserve direct parents of this // also clear the whole stack - s.clear(); + //s.clear(); + + s.push_back(c); } } diff --git a/src/node_message_box.cpp b/src/node_message_box.cpp index 67483c2..d387159 100644 --- a/src/node_message_box.cpp +++ b/src/node_message_box.cpp @@ -22,6 +22,7 @@ void NodeMessageBox::init() btn_ok->on_click = [&](Node*) { destroy(); }; btn_cancel = m_template->find("btn-cancel"); on_submit = btn_cancel->on_click = [&](Node*) { destroy(); }; + m_capture_children = false; // don't capture children events on mouse_capture } kEventResult NodeMessageBox::handle_event(Event* e) @@ -44,3 +45,9 @@ kEventResult NodeMessageBox::handle_event(Event* e) } return kEventResult::Consumed; } + +void NodeMessageBox::added(Node* parent) +{ + Node::added(parent); + mouse_capture(); +} diff --git a/src/node_message_box.h b/src/node_message_box.h index 4f57d39..95fede9 100644 --- a/src/node_message_box.h +++ b/src/node_message_box.h @@ -15,4 +15,5 @@ public: virtual Node* clone_instantiate() const override; virtual void init() override; virtual kEventResult handle_event(Event* e) override; + virtual void added(Node* parent) override; }; diff --git a/src/node_stroke_preview.cpp b/src/node_stroke_preview.cpp index 430117e..b14c41d 100644 --- a/src/node_stroke_preview.cpp +++ b/src/node_stroke_preview.cpp @@ -283,9 +283,10 @@ void NodeStrokePreview::draw_stroke() } { - float pad = glm::max(glm::min(m_stroke.m_max_size, m_brush->m_tip_size) / 2.f, 10.f); + + float pad = (5.f + glm::max(glm::min(m_stroke.m_max_size, m_brush->m_tip_size) / 2.f, 10.f)) * App::I.zoom; if (b->m_tip_size_pressure) - pad = 10.f; + pad = 10.f * App::I.zoom; float w = m_size.x * App::I.zoom; float h = m_size.y * App::I.zoom; std::vector kp = {