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

Side by Side Diff: ui/base/events/event.h

Issue 16950030: Handle alternate types in HandleMouseEvent. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Move virtual override to end of class/public. Created 7 years, 5 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 | « no previous file | ui/base/events/event.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 (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 #ifndef UI_BASE_EVENTS_EVENT_H_ 5 #ifndef UI_BASE_EVENTS_EVENT_H_
6 #define UI_BASE_EVENTS_EVENT_H_ 6 #define UI_BASE_EVENTS_EVENT_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/event_types.h" 10 #include "base/event_types.h"
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 return type_ == ET_GESTURE_SCROLL_BEGIN || 167 return type_ == ET_GESTURE_SCROLL_BEGIN ||
168 type_ == ET_GESTURE_SCROLL_UPDATE || 168 type_ == ET_GESTURE_SCROLL_UPDATE ||
169 type_ == ET_GESTURE_SCROLL_END; 169 type_ == ET_GESTURE_SCROLL_END;
170 } 170 }
171 171
172 bool IsFlingScrollEvent() const { 172 bool IsFlingScrollEvent() const {
173 return type_ == ET_SCROLL_FLING_CANCEL || 173 return type_ == ET_SCROLL_FLING_CANCEL ||
174 type_ == ET_SCROLL_FLING_START; 174 type_ == ET_SCROLL_FLING_START;
175 } 175 }
176 176
177 bool IsMouseWheelEvent() const {
178 return type_ == ET_MOUSEWHEEL;
179 }
180
177 // Returns true if the event has a valid |native_event_|. 181 // Returns true if the event has a valid |native_event_|.
178 bool HasNativeEvent() const; 182 bool HasNativeEvent() const;
179 183
180 // Immediately stops the propagation of the event. This must be called only 184 // Immediately stops the propagation of the event. This must be called only
181 // from an EventHandler during an event-dispatch. Any event handler that may 185 // from an EventHandler during an event-dispatch. Any event handler that may
182 // be in the list will not receive the event after this is called. 186 // be in the list will not receive the event after this is called.
183 // Note that StopPropagation() can be called only for cancelable events. 187 // Note that StopPropagation() can be called only for cancelable events.
184 void StopPropagation(); 188 void StopPropagation();
185 bool stopped_propagation() const { return !!(result_ & ER_CONSUMED); } 189 bool stopped_propagation() const { return !!(result_ & ER_CONSUMED); }
186 190
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 // that was released. 393 // that was released.
390 // NOTE: during a press and release flags() contains the complete set of 394 // NOTE: during a press and release flags() contains the complete set of
391 // flags. Use this to determine the button that was pressed or released. 395 // flags. Use this to determine the button that was pressed or released.
392 int changed_button_flags() const { return changed_button_flags_; } 396 int changed_button_flags() const { return changed_button_flags_; }
393 397
394 private: 398 private:
395 // Returns the repeat count based on the previous mouse click, if it is 399 // Returns the repeat count based on the previous mouse click, if it is
396 // recent enough and within a small enough distance. 400 // recent enough and within a small enough distance.
397 static int GetRepeatCount(const MouseEvent& click_event); 401 static int GetRepeatCount(const MouseEvent& click_event);
398 402
399 gfx::Point root_location_;
400
401 // See description above getter for details. 403 // See description above getter for details.
402 int changed_button_flags_; 404 int changed_button_flags_;
403 405
404 static MouseEvent* last_click_event_; 406 static MouseEvent* last_click_event_;
405 }; 407 };
406 408
407 class ScrollEvent; 409 class ScrollEvent;
408 410
409 class UI_EXPORT MouseWheelEvent : public MouseEvent { 411 class UI_EXPORT MouseWheelEvent : public MouseEvent {
410 public: 412 public:
411 // See |offset| for details. 413 // See |offset| for details.
412 static const int kWheelDelta; 414 static const int kWheelDelta;
413 415
414 explicit MouseWheelEvent(const base::NativeEvent& native_event); 416 explicit MouseWheelEvent(const base::NativeEvent& native_event);
415 explicit MouseWheelEvent(const ScrollEvent& scroll_event); 417 explicit MouseWheelEvent(const ScrollEvent& scroll_event);
416 MouseWheelEvent(const MouseEvent& mouse_event, int x_offset, int y_offset); 418 MouseWheelEvent(const MouseEvent& mouse_event, int x_offset, int y_offset);
419 MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event);
417 420
418 template <class T> 421 template <class T>
419 MouseWheelEvent(const MouseWheelEvent& model, 422 MouseWheelEvent(const MouseWheelEvent& model,
420 T* source, 423 T* source,
421 T* target, 424 T* target,
422 EventType type, 425 EventType type,
423 int flags) 426 int flags)
424 : MouseEvent(model, source, target, type, flags), 427 : MouseEvent(model, source, target, type, flags),
425 offset_(model.x_offset(), model.y_offset()){ 428 offset_(model.x_offset(), model.y_offset()){
426 } 429 }
427 430
428 // The amount to scroll. This is in multiples of kWheelDelta. 431 // The amount to scroll. This is in multiples of kWheelDelta.
429 // Note: x_offset() > 0/y_offset() > 0 means scroll left/up. 432 // Note: x_offset() > 0/y_offset() > 0 means scroll left/up.
430 int x_offset() const { return offset_.x(); } 433 int x_offset() const { return offset_.x(); }
431 int y_offset() const { return offset_.y(); } 434 int y_offset() const { return offset_.y(); }
432 const gfx::Vector2d& offset() const { return offset_; } 435 const gfx::Vector2d& offset() const { return offset_; }
433 436
437 // Overridden from LocatedEvent.
438 virtual void UpdateForRootTransform(
439 const gfx::Transform& inverted_root_transform) OVERRIDE;
440
434 private: 441 private:
435 gfx::Vector2d offset_; 442 gfx::Vector2d offset_;
436
437 DISALLOW_COPY_AND_ASSIGN(MouseWheelEvent);
438 }; 443 };
439 444
440 class UI_EXPORT TouchEvent : public LocatedEvent { 445 class UI_EXPORT TouchEvent : public LocatedEvent {
441 public: 446 public:
442 explicit TouchEvent(const base::NativeEvent& native_event); 447 explicit TouchEvent(const base::NativeEvent& native_event);
443 448
444 // Create a new TouchEvent which is identical to the provided model. 449 // Create a new TouchEvent which is identical to the provided model.
445 // If source / target windows are provided, the model location will be 450 // If source / target windows are provided, the model location will be
446 // converted from |source| coordinate system to |target| coordinate system. 451 // converted from |source| coordinate system to |target| coordinate system.
447 template <class T> 452 template <class T>
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 // This value is stored as a bitfield because the number of touch ids varies, 708 // This value is stored as a bitfield because the number of touch ids varies,
704 // but we currently don't need more than 32 touches at a time. 709 // but we currently don't need more than 32 touches at a time.
705 const unsigned int touch_ids_bitfield_; 710 const unsigned int touch_ids_bitfield_;
706 711
707 DISALLOW_COPY_AND_ASSIGN(GestureEvent); 712 DISALLOW_COPY_AND_ASSIGN(GestureEvent);
708 }; 713 };
709 714
710 } // namespace ui 715 } // namespace ui
711 716
712 #endif // UI_BASE_EVENTS_EVENT_H_ 717 #endif // UI_BASE_EVENTS_EVENT_H_
OLDNEW
« no previous file with comments | « no previous file | ui/base/events/event.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698