diff options
author | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-11 21:36:41 +0000 |
---|---|---|
committer | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-11 21:36:41 +0000 |
commit | bf74dd8cac9cea871b424af7edf05492ae7a3355 (patch) | |
tree | aad5bb66312c3ae32c95d0a89aedf0dcf856c30d /ui/aura/desktop.cc | |
parent | 7c3228a4dc63c1c818a135c619fe256b91bf3989 (diff) | |
download | chromium_src-bf74dd8cac9cea871b424af7edf05492ae7a3355.zip chromium_src-bf74dd8cac9cea871b424af7edf05492ae7a3355.tar.gz chromium_src-bf74dd8cac9cea871b424af7edf05492ae7a3355.tar.bz2 |
aura: Track mouse button state.
This removes a NOTIMPLEMENTED() in
views::NativeWidgetPrivate::IsMouseButtonDown().
BUG=102577
TEST=added
Review URL: http://codereview.chromium.org/8526020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109703 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/desktop.cc')
-rw-r--r-- | ui/aura/desktop.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ui/aura/desktop.cc b/ui/aura/desktop.cc index f502fde..010acf4 100644 --- a/ui/aura/desktop.cc +++ b/ui/aura/desktop.cc @@ -151,6 +151,7 @@ Desktop::Desktop() stacking_client_(new DefaultStackingClient(this))), ALLOW_THIS_IN_INITIALIZER_LIST(schedule_paint_factory_(this)), active_window_(NULL), + mouse_button_flags_(0), last_cursor_(kCursorNull), in_destructor_(false), screen_(new ScreenAura), @@ -231,6 +232,11 @@ void Desktop::Draw() { } bool Desktop::DispatchMouseEvent(MouseEvent* event) { + static const int kMouseButtonFlagMask = + ui::EF_LEFT_BUTTON_DOWN | + ui::EF_MIDDLE_BUTTON_DOWN | + ui::EF_RIGHT_BUTTON_DOWN; + event->UpdateForTransform(layer()->transform()); last_mouse_location_ = event->location(); @@ -246,9 +252,11 @@ bool Desktop::DispatchMouseEvent(MouseEvent* event) { case ui::ET_MOUSE_PRESSED: if (!mouse_pressed_handler_) mouse_pressed_handler_ = target; + mouse_button_flags_ = event->flags() & kMouseButtonFlagMask; break; case ui::ET_MOUSE_RELEASED: mouse_pressed_handler_ = NULL; + mouse_button_flags_ = event->flags() & kMouseButtonFlagMask; break; default: break; @@ -399,6 +407,10 @@ void Desktop::RemoveObserver(DesktopObserver* observer) { observers_.RemoveObserver(observer); } +bool Desktop::IsMouseButtonDown() const { + return mouse_button_flags_ != 0; +} + void Desktop::SetCapture(Window* window) { if (capture_window_ == window) return; |