From fe6965c4d83399f5a40f1f69b68cb11f72237819 Mon Sep 17 00:00:00 2001 From: Jinhao Date: Tue, 17 Jul 2018 00:57:05 +0800 Subject: [PATCH] fix button and progress issues(#325,#327) --- source/gui/widgets/button.cpp | 9 +++++---- source/gui/widgets/progress.cpp | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/source/gui/widgets/button.cpp b/source/gui/widgets/button.cpp index c9ba1221..d407f0eb 100644 --- a/source/gui/widgets/button.cpp +++ b/source/gui/widgets/button.cpp @@ -150,11 +150,12 @@ namespace nana{ namespace drawerbase if (false == cite_.draw(graph, attr_.bgcolor, attr_.fgcolor, ::nana::rectangle{ graph.size() }, e_state)) { - if (!API::is_transparent_background(*wdg_)) - { + if (API::is_transparent_background(*wdg_)) + API::dev::copy_transparent_background(*wdg_, graph); + else _m_draw_background(graph); - _m_draw_border(graph); - } + + _m_draw_border(graph); } _m_draw_title(graph, eb); } diff --git a/source/gui/widgets/progress.cpp b/source/gui/widgets/progress.cpp index 8a679c4c..49fbda99 100644 --- a/source/gui/widgets/progress.cpp +++ b/source/gui/widgets/progress.cpp @@ -49,7 +49,7 @@ namespace nana if (value_ptr) { if (unknown_) - value_ += (*value_ptr ? 5 : 0); + value_ += 5; else value_ = (std::min)(max_, *value_ptr); @@ -99,7 +99,7 @@ namespace nana auto value_px = (widget_->size().width - border_px * 2); //avoid overflow - if (value_ < max_) + if (unknown_ || (value_ < max_)) value_px = static_cast(value_px * (double(value_) / double(max_))); if (value_px != value_px_)