From 606087f9622136a8635cdf93b70d93b5c6c76c89 Mon Sep 17 00:00:00 2001 From: Jinhao Date: Wed, 19 Apr 2017 00:39:41 +0800 Subject: [PATCH] improve content_view --- source/gui/widgets/skeletons/content_view.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/gui/widgets/skeletons/content_view.cpp b/source/gui/widgets/skeletons/content_view.cpp index 704f438b..b9edd77d 100644 --- a/source/gui/widgets/skeletons/content_view.cpp +++ b/source/gui/widgets/skeletons/content_view.cpp @@ -96,7 +96,7 @@ namespace nana { if (!arg.is_left_button()) return; - if (this->drive(arg.pos)) + if (this->drive(arg.pos, true)) { tmr.interval(16); tmr.start(); @@ -116,7 +116,7 @@ namespace nana { auto curs = ::nana::API::cursor_position(); ::nana::API::calc_window_point(window_handle, curs); - if (this->drive(curs)) + if (this->drive(curs, false)) { if (events.hover_outside) events.hover_outside(curs); @@ -129,10 +129,13 @@ namespace nana { }); } - bool drive(const point& cursor_pos) + bool drive(const point& cursor_pos, bool check_cursor_pos) { auto const area = view.view_area(); + if (check_cursor_pos && !area.is_hit(cursor_pos)) + return false; + point skew; if (disp_area.x > cursor_pos.x)