1 // Copyright (c) 2013 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "xwalk/tizen/mobile/ui/tizen_system_indicator.h"
7 #include "ui/gfx/canvas.h"
8 #include "xwalk/tizen/mobile/ui/tizen_system_indicator_watcher.h"
10 #include "ui/views/background.h"
11 #include "ui/views/widget/native_widget.h"
12 #include "ui/views/widget/root_view.h"
13 #include "ui/aura/root_window.h"
17 SkColor kBGColor = SkColorSetARGB(255, 52, 52, 50);
23 TizenSystemIndicator::TizenSystemIndicator()
25 set_background(views::Background::CreateSolidBackground(kBGColor));
28 TizenSystemIndicator::~TizenSystemIndicator() {
31 bool TizenSystemIndicator::IsConnected() const {
35 void TizenSystemIndicator::SetWatcher(TizenSystemIndicatorWatcher* watcher) {
39 gfx::Size TizenSystemIndicator::GetPreferredSize() {
40 // The size must be in DIPs. SkiaImage handles that and null images.
41 return GetImage().size();
44 bool TizenSystemIndicator::OnMousePressed(const ui::MouseEvent& event) {
47 const gfx::Point position = event.location();
48 watcher_->OnMouseDown(position.x(), position.y());
52 void TizenSystemIndicator::OnMouseReleased(const ui::MouseEvent& event) {
54 watcher_->OnMouseUp();
57 void TizenSystemIndicator::OnGestureEvent(ui::GestureEvent* event) {
61 const gfx::Point position = event->location();
63 switch (event->type()) {
65 case ui::ET_MOUSE_PRESSED:
66 case ui::ET_MOUSE_DRAGGED:
67 case ui::ET_MOUSE_RELEASED:
68 case ui::ET_MOUSE_MOVED:
69 case ui::ET_MOUSE_ENTERED:
70 case ui::ET_MOUSE_EXITED:
71 case ui::ET_KEY_PRESSED:
72 case ui::ET_KEY_RELEASED:
73 case ui::ET_MOUSEWHEEL:
74 case ui::ET_MOUSE_CAPTURE_CHANGED:
75 case ui::ET_TOUCH_RELEASED:
76 watcher_->OnMouseUp();
78 case ui::ET_TOUCH_PRESSED:
79 watcher_->OnMouseDown(position.x(), position.y());
81 case ui::ET_TOUCH_MOVED:
82 watcher_->OnMouseMove(position.x(), position.y());
84 case ui::ET_TOUCH_STATIONARY:
85 case ui::ET_TOUCH_CANCELLED:
86 case ui::ET_DROP_TARGET_EVENT:
87 case ui::ET_TRANSLATED_KEY_PRESS:
88 case ui::ET_TRANSLATED_KEY_RELEASE:
89 case ui::ET_GESTURE_SCROLL_BEGIN:
90 case ui::ET_GESTURE_SCROLL_END:
91 case ui::ET_GESTURE_SCROLL_UPDATE:
92 case ui::ET_GESTURE_TAP:
93 case ui::ET_GESTURE_TAP_DOWN:
94 case ui::ET_GESTURE_TAP_CANCEL:
95 case ui::ET_GESTURE_BEGIN:
96 case ui::ET_GESTURE_END:
97 case ui::ET_GESTURE_TWO_FINGER_TAP:
98 case ui::ET_GESTURE_PINCH_BEGIN:
99 case ui::ET_GESTURE_PINCH_END:
100 case ui::ET_GESTURE_PINCH_UPDATE:
101 case ui::ET_GESTURE_LONG_PRESS:
102 case ui::ET_GESTURE_LONG_TAP:
103 case ui::ET_GESTURE_MULTIFINGER_SWIPE:
104 case ui::ET_GESTURE_SHOW_PRESS:
106 case ui::ET_SCROLL_FLING_START:
107 case ui::ET_SCROLL_FLING_CANCEL:
108 case ui::ET_CANCEL_MODE:
109 case ui::ET_UMA_DATA:
116 void TizenSystemIndicator::OnMouseMoved(const ui::MouseEvent& event) {
119 const gfx::Point position = event.location();
120 watcher_->OnMouseMove(position.x(), position.y());