Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: ash/touch/touch_hud_projection.cc

Issue 2095193002: clang-format all of //ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/touch/touch_hud_debug.cc ('k') | ash/touch/touch_observer_hud.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ash/touch/touch_hud_projection.h" 5 #include "ash/touch/touch_hud_projection.h"
6 6
7 #include "ash/root_window_controller.h" 7 #include "ash/root_window_controller.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "third_party/skia/include/effects/SkGradientShader.h" 9 #include "third_party/skia/include/effects/SkGradientShader.h"
10 #include "ui/events/event.h" 10 #include "ui/events/event.h"
(...skipping 14 matching lines...) Expand all
25 25
26 // TouchPointView draws a single touch point. This object manages its own 26 // TouchPointView draws a single touch point. This object manages its own
27 // lifetime and deletes itself upon fade-out completion or whenever |Remove()| 27 // lifetime and deletes itself upon fade-out completion or whenever |Remove()|
28 // is explicitly called. 28 // is explicitly called.
29 class TouchPointView : public views::View, 29 class TouchPointView : public views::View,
30 public gfx::AnimationDelegate, 30 public gfx::AnimationDelegate,
31 public views::WidgetObserver { 31 public views::WidgetObserver {
32 public: 32 public:
33 explicit TouchPointView(views::Widget* parent_widget) 33 explicit TouchPointView(views::Widget* parent_widget)
34 : circle_center_(kPointRadius + 1, kPointRadius + 1), 34 : circle_center_(kPointRadius + 1, kPointRadius + 1),
35 gradient_center_(SkPoint::Make(kPointRadius + 1, 35 gradient_center_(SkPoint::Make(kPointRadius + 1, kPointRadius + 1)) {
36 kPointRadius + 1)) {
37 SetPaintToLayer(true); 36 SetPaintToLayer(true);
38 layer()->SetFillsBoundsOpaquely(false); 37 layer()->SetFillsBoundsOpaquely(false);
39 38
40 SetSize(gfx::Size(2 * kPointRadius + 2, 2 * kPointRadius + 2)); 39 SetSize(gfx::Size(2 * kPointRadius + 2, 2 * kPointRadius + 2));
41 40
42 stroke_paint_.setStyle(SkPaint::kStroke_Style); 41 stroke_paint_.setStyle(SkPaint::kStroke_Style);
43 stroke_paint_.setColor(kProjectionStrokeColor); 42 stroke_paint_.setColor(kProjectionStrokeColor);
44 43
45 gradient_colors_[0] = kProjectionFillColor; 44 gradient_colors_[0] = kProjectionFillColor;
46 gradient_colors_[1] = kProjectionStrokeColor; 45 gradient_colors_[1] = kProjectionStrokeColor;
47 46
48 gradient_pos_[0] = SkFloatToScalar(0.9f); 47 gradient_pos_[0] = SkFloatToScalar(0.9f);
49 gradient_pos_[1] = SkFloatToScalar(1.0f); 48 gradient_pos_[1] = SkFloatToScalar(1.0f);
50 49
51 parent_widget->GetContentsView()->AddChildView(this); 50 parent_widget->GetContentsView()->AddChildView(this);
52 51
53 parent_widget->AddObserver(this); 52 parent_widget->AddObserver(this);
54 } 53 }
55 54
56 void UpdateTouch(const ui::TouchEvent& touch) { 55 void UpdateTouch(const ui::TouchEvent& touch) {
57 if (touch.type() == ui::ET_TOUCH_RELEASED || 56 if (touch.type() == ui::ET_TOUCH_RELEASED ||
58 touch.type() == ui::ET_TOUCH_CANCELLED) { 57 touch.type() == ui::ET_TOUCH_CANCELLED) {
59 fadeout_.reset(new gfx::LinearAnimation(kFadeoutDurationInMs, 58 fadeout_.reset(new gfx::LinearAnimation(kFadeoutDurationInMs,
60 kFadeoutFrameRate, 59 kFadeoutFrameRate, this));
61 this));
62 fadeout_->Start(); 60 fadeout_->Start();
63 } else { 61 } else {
64 SetX(parent()->GetMirroredXInView(touch.root_location().x()) - 62 SetX(parent()->GetMirroredXInView(touch.root_location().x()) -
65 kPointRadius - 1); 63 kPointRadius - 1);
66 SetY(touch.root_location().y() - kPointRadius - 1); 64 SetY(touch.root_location().y() - kPointRadius - 1);
67 } 65 }
68 } 66 }
69 67
70 void Remove() { 68 void Remove() { delete this; }
71 delete this;
72 }
73 69
74 private: 70 private:
75 ~TouchPointView() override { 71 ~TouchPointView() override {
76 GetWidget()->RemoveObserver(this); 72 GetWidget()->RemoveObserver(this);
77 parent()->RemoveChildView(this); 73 parent()->RemoveChildView(this);
78 } 74 }
79 75
80 // Overridden from views::View. 76 // Overridden from views::View.
81 void OnPaint(gfx::Canvas* canvas) override { 77 void OnPaint(gfx::Canvas* canvas) override {
82 int alpha = kProjectionAlpha; 78 int alpha = kProjectionAlpha;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 SkPaint stroke_paint_; 120 SkPaint stroke_paint_;
125 SkColor gradient_colors_[2]; 121 SkColor gradient_colors_[2];
126 SkScalar gradient_pos_[2]; 122 SkScalar gradient_pos_[2];
127 123
128 std::unique_ptr<gfx::Animation> fadeout_; 124 std::unique_ptr<gfx::Animation> fadeout_;
129 125
130 DISALLOW_COPY_AND_ASSIGN(TouchPointView); 126 DISALLOW_COPY_AND_ASSIGN(TouchPointView);
131 }; 127 };
132 128
133 TouchHudProjection::TouchHudProjection(aura::Window* initial_root) 129 TouchHudProjection::TouchHudProjection(aura::Window* initial_root)
134 : TouchObserverHUD(initial_root) { 130 : TouchObserverHUD(initial_root) {}
135 }
136 131
137 TouchHudProjection::~TouchHudProjection() { 132 TouchHudProjection::~TouchHudProjection() {}
138 }
139 133
140 void TouchHudProjection::Clear() { 134 void TouchHudProjection::Clear() {
141 for (std::map<int, TouchPointView*>::iterator iter = points_.begin(); 135 for (std::map<int, TouchPointView*>::iterator iter = points_.begin();
142 iter != points_.end(); iter++) 136 iter != points_.end(); iter++)
143 iter->second->Remove(); 137 iter->second->Remove();
144 points_.clear(); 138 points_.clear();
145 } 139 }
146 140
147 void TouchHudProjection::OnTouchEvent(ui::TouchEvent* event) { 141 void TouchHudProjection::OnTouchEvent(ui::TouchEvent* event) {
148 if (event->type() == ui::ET_TOUCH_PRESSED) { 142 if (event->type() == ui::ET_TOUCH_PRESSED) {
149 TouchPointView* point = new TouchPointView(widget()); 143 TouchPointView* point = new TouchPointView(widget());
150 point->UpdateTouch(*event); 144 point->UpdateTouch(*event);
151 std::pair<std::map<int, TouchPointView*>::iterator, bool> result = 145 std::pair<std::map<int, TouchPointView*>::iterator, bool> result =
152 points_.insert(std::make_pair(event->touch_id(), point)); 146 points_.insert(std::make_pair(event->touch_id(), point));
(...skipping 19 matching lines...) Expand all
172 RootWindowController* controller) { 166 RootWindowController* controller) {
173 controller->set_touch_hud_projection(this); 167 controller->set_touch_hud_projection(this);
174 } 168 }
175 169
176 void TouchHudProjection::UnsetHudForRootWindowController( 170 void TouchHudProjection::UnsetHudForRootWindowController(
177 RootWindowController* controller) { 171 RootWindowController* controller) {
178 controller->set_touch_hud_projection(NULL); 172 controller->set_touch_hud_projection(NULL);
179 } 173 }
180 174
181 } // namespace ash 175 } // namespace ash
OLDNEW
« no previous file with comments | « ash/touch/touch_hud_debug.cc ('k') | ash/touch/touch_observer_hud.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698