Index: ui/base/events/event.cc |
diff --git a/ui/base/events/event.cc b/ui/base/events/event.cc |
index 1ade95089d71155417d566f3842a6888a4e01ac9..e976e9a8910258af02ec67370807bb05ac7f59aa 100644 |
--- a/ui/base/events/event.cc |
+++ b/ui/base/events/event.cc |
@@ -419,6 +419,12 @@ MouseWheelEvent::MouseWheelEvent(const MouseEvent& mouse_event, |
DCHECK(type() == ET_MOUSEWHEEL); |
} |
+MouseWheelEvent::MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event) |
+ : MouseEvent(mouse_wheel_event), |
+ offset_(mouse_wheel_event.offset()) { |
+ DCHECK(type() == ET_MOUSEWHEEL); |
+} |
+ |
#if defined(OS_WIN) |
// This value matches windows WHEEL_DELTA. |
// static |
@@ -428,6 +434,18 @@ const int MouseWheelEvent::kWheelDelta = 120; |
const int MouseWheelEvent::kWheelDelta = 53; |
#endif |
+void MouseWheelEvent::UpdateForRootTransform( |
+ const gfx::Transform& inverted_root_transform) { |
+ LocatedEvent::UpdateForRootTransform(inverted_root_transform); |
+ gfx::DecomposedTransform decomp; |
+ bool success = gfx::DecomposeTransform(&decomp, inverted_root_transform); |
+ DCHECK(success); |
+ if (decomp.scale[0]) |
+ offset_.set_x(offset_.x() * decomp.scale[0]); |
+ if (decomp.scale[1]) |
+ offset_.set_y(offset_.y() * decomp.scale[1]); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// TouchEvent |