Home | History | Annotate | Download | only in win
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_BASE_WIN_MOUSE_WHEEL_UTIL_H_
      6 #define UI_BASE_WIN_MOUSE_WHEEL_UTIL_H_
      7 
      8 #include <windows.h>
      9 
     10 #include "ui/base/ui_base_export.h"
     11 
     12 namespace ui {
     13 
     14 class ViewProp;
     15 
     16 // Marks the passed |hwnd| as supporting mouse-wheel message rerouting.
     17 // We reroute the mouse wheel messages to such HWND when they are under the
     18 // mouse pointer (but are not the active window). Callers own the returned
     19 // object.
     20 UI_BASE_EXPORT ViewProp* SetWindowSupportsRerouteMouseWheel(HWND hwnd);
     21 
     22 // Forwards mouse wheel messages to the window under it.
     23 // Windows sends mouse wheel messages to the currently active window.
     24 // This causes a window to scroll even if it is not currently under the mouse
     25 // wheel. The following code gives mouse wheel messages to the window under the
     26 // mouse wheel in order to scroll that window. This is arguably a better user
     27 // experience.  The returns value says whether the mouse wheel message was
     28 // successfully redirected.
     29 UI_BASE_EXPORT bool RerouteMouseWheel(HWND window,
     30                                       WPARAM w_param,
     31                                       LPARAM l_param);
     32 
     33 }  // namespace ui
     34 
     35 #endif  // UI_BASE_WIN_MOUSE_WHEEL_UTIL_H_
     36