diff options
Diffstat (limited to 'views/widget/widget_gtk.cc')
-rw-r--r-- | views/widget/widget_gtk.cc | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc index 5c6db99..28e7b3c 100644 --- a/views/widget/widget_gtk.cc +++ b/views/widget/widget_gtk.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -1430,31 +1430,12 @@ bool WidgetGtk::ProcessScroll(GdkEventScroll* event) { // Translate it to the widget's coordinates. int x = 0, y = 0; GetContainedWidgetEventCoordinates(event, &x, &y); - int flags = Event::GetFlagsFromGdkState(event->state); - int increment = 0; - bool is_horizontal = true; - switch (event->direction) { - case GDK_SCROLL_UP: - increment = 1; - is_horizontal = false; - break; - case GDK_SCROLL_DOWN: - increment = -1; - is_horizontal = false; - break; - case GDK_SCROLL_LEFT: - increment = 1; - is_horizontal = true; - break; - case GDK_SCROLL_RIGHT: - increment = -1; - is_horizontal = false; - break; - } - increment *= is_horizontal ? root_view_->width() / 5 : - root_view_->height() / 5; - MouseWheelEvent wheel_event(increment, x, y, flags); - return root_view_->ProcessMouseWheelEvent(wheel_event); + GdkEventScroll translated_event = *event; + translated_event.x = x; + translated_event.y = y; + + MouseWheelEvent wheel_event(reinterpret_cast<GdkEvent*>(&translated_event)); + return root_view_->OnMouseWheel(wheel_event); } // static |