OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/controls/scrollbar/base_scroll_bar_button.h" | 5 #include "ui/views/controls/scrollbar/base_scroll_bar_button.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "ui/gfx/screen.h" | 9 #include "ui/gfx/screen.h" |
10 | 10 |
11 namespace views { | 11 namespace views { |
12 | 12 |
13 BaseScrollBarButton::BaseScrollBarButton(ButtonListener* listener) | 13 BaseScrollBarButton::BaseScrollBarButton(ButtonListener* listener) |
14 : CustomButton(listener), | 14 : CustomButton(listener), |
15 ALLOW_THIS_IN_INITIALIZER_LIST(repeater_( | 15 ALLOW_THIS_IN_INITIALIZER_LIST(repeater_( |
16 base::Bind(&BaseScrollBarButton::RepeaterNotifyClick, | 16 base::Bind(&BaseScrollBarButton::RepeaterNotifyClick, |
17 base::Unretained(this)))) { | 17 base::Unretained(this)))) { |
18 } | 18 } |
19 | 19 |
20 BaseScrollBarButton::~BaseScrollBarButton() { | 20 BaseScrollBarButton::~BaseScrollBarButton() { |
21 } | 21 } |
22 | 22 |
23 bool BaseScrollBarButton::OnMousePressed(const MouseEvent& event) { | 23 bool BaseScrollBarButton::OnMousePressed(const ui::MouseEvent& event) { |
24 Button::NotifyClick(event); | 24 Button::NotifyClick(event); |
25 repeater_.Start(); | 25 repeater_.Start(); |
26 return true; | 26 return true; |
27 } | 27 } |
28 | 28 |
29 void BaseScrollBarButton::OnMouseReleased(const MouseEvent& event) { | 29 void BaseScrollBarButton::OnMouseReleased(const ui::MouseEvent& event) { |
30 OnMouseCaptureLost(); | 30 OnMouseCaptureLost(); |
31 } | 31 } |
32 | 32 |
33 void BaseScrollBarButton::OnMouseCaptureLost() { | 33 void BaseScrollBarButton::OnMouseCaptureLost() { |
34 repeater_.Stop(); | 34 repeater_.Stop(); |
35 } | 35 } |
36 | 36 |
37 void BaseScrollBarButton::RepeaterNotifyClick() { | 37 void BaseScrollBarButton::RepeaterNotifyClick() { |
38 // TODO(sky): See if we can convert to using |Screen| everywhere. | 38 // TODO(sky): See if we can convert to using |Screen| everywhere. |
39 #if defined(OS_WIN) && !defined(USE_AURA) | 39 #if defined(OS_WIN) && !defined(USE_AURA) |
40 gfx::Point cursor_point(GetMessagePos()); | 40 gfx::Point cursor_point(GetMessagePos()); |
41 #else | 41 #else |
42 gfx::Point cursor_point = gfx::Screen::GetCursorScreenPoint(); | 42 gfx::Point cursor_point = gfx::Screen::GetCursorScreenPoint(); |
43 #endif | 43 #endif |
44 views::MouseEvent event(ui::ET_MOUSE_RELEASED, | 44 ui::MouseEvent event(ui::ET_MOUSE_RELEASED, |
45 cursor_point.x(), cursor_point.y(), | 45 cursor_point, cursor_point, |
46 ui::EF_LEFT_MOUSE_BUTTON); | 46 ui::EF_LEFT_MOUSE_BUTTON); |
47 Button::NotifyClick(event); | 47 Button::NotifyClick(event); |
48 } | 48 } |
49 | 49 |
50 } // namespace views | 50 } // namespace views |
OLD | NEW |