Chromium Code Reviews| Index: ui/base/event.h |
| diff --git a/ui/base/event.h b/ui/base/event.h |
| index 43fb253efb76b38a6d07e242a7759e709d3c5b6d..6072804e8c57bd40c91dad551756c581108f7816 100644 |
| --- a/ui/base/event.h |
| +++ b/ui/base/event.h |
| @@ -136,6 +136,13 @@ class UI_EXPORT LocatedEvent : public Event { |
| gfx::Point location() const { return location_; } |
| gfx::Point root_location() const { return root_location_; } |
| + bool valid_system_location() const { |
| + return system_location_ != gfx::Point(-1, -1); |
|
sky
2012/08/16 20:11:20
Can't -1 -1 be a valid location?
Elliot Glaysher
2012/08/16 20:33:48
I guess it might. Changed to out of band boolean t
|
| + } |
| + void set_system_location(const gfx::Point& loc) { system_location_ = loc; } |
| + gfx::Point system_location() const { return system_location_; } |
|
sky
2012/08/16 20:11:20
const gfx::Point&
|
| + |
| + |
| // Applies |root_transform| to the event. |
| // This is applied to both |location_| and |root_location_|. |
| virtual void UpdateForRootTransform(const Transform& root_transform); |
| @@ -150,7 +157,10 @@ class UI_EXPORT LocatedEvent : public Event { |
| LocatedEvent(const LocatedEvent& model, T* source, T* target) |
| : Event(model), |
| location_(model.location_), |
| - root_location_(model.root_location_) { |
| + root_location_(model.root_location_), |
| + system_location_(model.system_location_) { |
| + // TODO(erg): May need to create system_location_ by converting location to |
| + // system coordinates here. |
| if (target && target != source) |
| T::ConvertPointToTarget(source, target, &location_); |
| } |
| @@ -166,7 +176,14 @@ class UI_EXPORT LocatedEvent : public Event { |
| gfx::Point location_; |
| + // |location_| multiplied by an optional transformation matrix for |
| + // rotations, animations and skews. |
| gfx::Point root_location_; |
| + |
| + // |location_| in underlying system coordinates. Defaults to the invalid |
| + // value of (-1, -1), unless we're given a native event or are explicitly |
| + // set. |
| + gfx::Point system_location_; |
| }; |
| class UI_EXPORT MouseEvent : public LocatedEvent { |