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

Side by Side Diff: ui/views/touchui/touch_selection_controller_impl.cc

Issue 679233002: Standardize usage of virtual/override/final specifiers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "ui/views/touchui/touch_selection_controller_impl.h" 5 #include "ui/views/touchui/touch_selection_controller_impl.h"
6 6
7 #include "base/time/time.h" 7 #include "base/time/time.h"
8 #include "ui/aura/client/cursor_client.h" 8 #include "ui/aura/client/cursor_client.h"
9 #include "ui/aura/env.h" 9 #include "ui/aura/env.h"
10 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 126
127 namespace views { 127 namespace views {
128 128
129 typedef TouchSelectionControllerImpl::EditingHandleView EditingHandleView; 129 typedef TouchSelectionControllerImpl::EditingHandleView EditingHandleView;
130 130
131 class TouchHandleWindowTargeter : public wm::MaskedWindowTargeter { 131 class TouchHandleWindowTargeter : public wm::MaskedWindowTargeter {
132 public: 132 public:
133 TouchHandleWindowTargeter(aura::Window* window, 133 TouchHandleWindowTargeter(aura::Window* window,
134 EditingHandleView* handle_view); 134 EditingHandleView* handle_view);
135 135
136 virtual ~TouchHandleWindowTargeter() {} 136 ~TouchHandleWindowTargeter() override {}
137 137
138 private: 138 private:
139 // wm::MaskedWindowTargeter: 139 // wm::MaskedWindowTargeter:
140 virtual bool GetHitTestMask(aura::Window* window, 140 bool GetHitTestMask(aura::Window* window, gfx::Path* mask) const override;
141 gfx::Path* mask) const override;
142 141
143 EditingHandleView* handle_view_; 142 EditingHandleView* handle_view_;
144 143
145 DISALLOW_COPY_AND_ASSIGN(TouchHandleWindowTargeter); 144 DISALLOW_COPY_AND_ASSIGN(TouchHandleWindowTargeter);
146 }; 145 };
147 146
148 // A View that displays the text selection handle. 147 // A View that displays the text selection handle.
149 class TouchSelectionControllerImpl::EditingHandleView 148 class TouchSelectionControllerImpl::EditingHandleView
150 : public views::WidgetDelegateView { 149 : public views::WidgetDelegateView {
151 public: 150 public:
152 EditingHandleView(TouchSelectionControllerImpl* controller, 151 EditingHandleView(TouchSelectionControllerImpl* controller,
153 gfx::NativeView context) 152 gfx::NativeView context)
154 : controller_(controller), 153 : controller_(controller),
155 drag_offset_(0), 154 drag_offset_(0),
156 draw_invisible_(false) { 155 draw_invisible_(false) {
157 widget_.reset(CreateTouchSelectionPopupWidget(context, this)); 156 widget_.reset(CreateTouchSelectionPopupWidget(context, this));
158 widget_->SetContentsView(this); 157 widget_->SetContentsView(this);
159 158
160 aura::Window* window = widget_->GetNativeWindow(); 159 aura::Window* window = widget_->GetNativeWindow();
161 window->SetEventTargeter(scoped_ptr<ui::EventTargeter>( 160 window->SetEventTargeter(scoped_ptr<ui::EventTargeter>(
162 new TouchHandleWindowTargeter(window, this))); 161 new TouchHandleWindowTargeter(window, this)));
163 162
164 // We are owned by the TouchSelectionController. 163 // We are owned by the TouchSelectionController.
165 set_owned_by_client(); 164 set_owned_by_client();
166 } 165 }
167 166
168 virtual ~EditingHandleView() { 167 ~EditingHandleView() override { SetWidgetVisible(false, false); }
169 SetWidgetVisible(false, false);
170 }
171 168
172 // Overridden from views::WidgetDelegateView: 169 // Overridden from views::WidgetDelegateView:
173 virtual bool WidgetHasHitTestMask() const override { 170 bool WidgetHasHitTestMask() const override { return true; }
174 return true;
175 }
176 171
177 virtual void GetWidgetHitTestMask(gfx::Path* mask) const override { 172 void GetWidgetHitTestMask(gfx::Path* mask) const override {
178 gfx::Size image_size = GetHandleImageSize(); 173 gfx::Size image_size = GetHandleImageSize();
179 mask->addRect(SkIntToScalar(0), SkIntToScalar(selection_rect_.height()), 174 mask->addRect(SkIntToScalar(0), SkIntToScalar(selection_rect_.height()),
180 SkIntToScalar(image_size.width()) + 2 * kSelectionHandleHorizPadding, 175 SkIntToScalar(image_size.width()) + 2 * kSelectionHandleHorizPadding,
181 SkIntToScalar(selection_rect_.height() + image_size.height() + 176 SkIntToScalar(selection_rect_.height() + image_size.height() +
182 kSelectionHandleVertPadding)); 177 kSelectionHandleVertPadding));
183 } 178 }
184 179
185 virtual void DeleteDelegate() override { 180 void DeleteDelegate() override {
186 // We are owned and deleted by TouchSelectionController. 181 // We are owned and deleted by TouchSelectionController.
187 } 182 }
188 183
189 // Overridden from views::View: 184 // Overridden from views::View:
190 virtual void OnPaint(gfx::Canvas* canvas) override { 185 void OnPaint(gfx::Canvas* canvas) override {
191 if (draw_invisible_) 186 if (draw_invisible_)
192 return; 187 return;
193 gfx::Size image_size = GetHandleImageSize(); 188 gfx::Size image_size = GetHandleImageSize();
194 int cursor_pos_x = image_size.width() / 2 - kSelectionHandleLineWidth + 189 int cursor_pos_x = image_size.width() / 2 - kSelectionHandleLineWidth +
195 kSelectionHandleHorizPadding; 190 kSelectionHandleHorizPadding;
196 191
197 // Draw the cursor line. 192 // Draw the cursor line.
198 canvas->FillRect( 193 canvas->FillRect(
199 gfx::Rect(cursor_pos_x, 0, 194 gfx::Rect(cursor_pos_x, 0,
200 2 * kSelectionHandleLineWidth + 1, selection_rect_.height()), 195 2 * kSelectionHandleLineWidth + 1, selection_rect_.height()),
201 kSelectionHandleLineColor); 196 kSelectionHandleLineColor);
202 197
203 // Draw the handle image. 198 // Draw the handle image.
204 canvas->DrawImageInt(*GetHandleImage()->ToImageSkia(), 199 canvas->DrawImageInt(*GetHandleImage()->ToImageSkia(),
205 kSelectionHandleHorizPadding, selection_rect_.height()); 200 kSelectionHandleHorizPadding, selection_rect_.height());
206 } 201 }
207 202
208 virtual void OnGestureEvent(ui::GestureEvent* event) override { 203 void OnGestureEvent(ui::GestureEvent* event) override {
209 event->SetHandled(); 204 event->SetHandled();
210 switch (event->type()) { 205 switch (event->type()) {
211 case ui::ET_GESTURE_SCROLL_BEGIN: 206 case ui::ET_GESTURE_SCROLL_BEGIN:
212 widget_->SetCapture(this); 207 widget_->SetCapture(this);
213 controller_->SetDraggingHandle(this); 208 controller_->SetDraggingHandle(this);
214 drag_offset_ = event->y() - selection_rect_.height() + 209 drag_offset_ = event->y() - selection_rect_.height() +
215 kSelectionHandleVerticalDragOffset; 210 kSelectionHandleVerticalDragOffset;
216 break; 211 break;
217 case ui::ET_GESTURE_SCROLL_UPDATE: { 212 case ui::ET_GESTURE_SCROLL_UPDATE: {
218 gfx::Point drag_pos(event->location().x(), 213 gfx::Point drag_pos(event->location().x(),
219 event->location().y() - drag_offset_); 214 event->location().y() - drag_offset_);
220 controller_->SelectionHandleDragged(drag_pos); 215 controller_->SelectionHandleDragged(drag_pos);
221 break; 216 break;
222 } 217 }
223 case ui::ET_GESTURE_SCROLL_END: 218 case ui::ET_GESTURE_SCROLL_END:
224 case ui::ET_SCROLL_FLING_START: 219 case ui::ET_SCROLL_FLING_START:
225 widget_->ReleaseCapture(); 220 widget_->ReleaseCapture();
226 controller_->SetDraggingHandle(NULL); 221 controller_->SetDraggingHandle(NULL);
227 break; 222 break;
228 default: 223 default:
229 break; 224 break;
230 } 225 }
231 } 226 }
232 227
233 virtual gfx::Size GetPreferredSize() const override { 228 gfx::Size GetPreferredSize() const override {
234 gfx::Size image_size = GetHandleImageSize(); 229 gfx::Size image_size = GetHandleImageSize();
235 return gfx::Size(image_size.width() + 2 * kSelectionHandleHorizPadding, 230 return gfx::Size(image_size.width() + 2 * kSelectionHandleHorizPadding,
236 image_size.height() + selection_rect_.height() + 231 image_size.height() + selection_rect_.height() +
237 kSelectionHandleVertPadding); 232 kSelectionHandleVertPadding);
238 } 233 }
239 234
240 bool IsWidgetVisible() const { 235 bool IsWidgetVisible() const {
241 return widget_->IsVisible(); 236 return widget_->IsVisible();
242 } 237 }
243 238
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 620
626 bool TouchSelectionControllerImpl::IsSelectionHandle2Visible() { 621 bool TouchSelectionControllerImpl::IsSelectionHandle2Visible() {
627 return selection_handle_2_->IsWidgetVisible(); 622 return selection_handle_2_->IsWidgetVisible();
628 } 623 }
629 624
630 bool TouchSelectionControllerImpl::IsCursorHandleVisible() { 625 bool TouchSelectionControllerImpl::IsCursorHandleVisible() {
631 return cursor_handle_->IsWidgetVisible(); 626 return cursor_handle_->IsWidgetVisible();
632 } 627 }
633 628
634 } // namespace views 629 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/touchui/touch_selection_controller_impl.h ('k') | ui/views/touchui/touch_selection_controller_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698