OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. |
3 * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com | 3 * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com |
4 * All rights reserved. | 4 * All rights reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
11 * 2. Redistributions in binary form must reproduce the above copyright | 11 * 2. Redistributions in binary form must reproduce the above copyright |
12 * notice, this list of conditions and the following disclaimer in the | 12 * notice, this list of conditions and the following disclaimer in the |
13 * documentation and/or other materials provided with the distribution. | 13 * documentation and/or other materials provided with the distribution. |
14 * | 14 * |
15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #include "config.h" | 28 #include "config.h" |
29 #include "PlatformWheelEvent.h" | 29 #include "PlatformWheelEvent.h" |
| 30 #include "Scrollbar.h" |
30 | 31 |
31 #include <gdk/gdk.h> | 32 #include <gdk/gdk.h> |
32 | 33 |
33 // GTK_CHECK_VERSION is defined in gtk/gtkversion.h | 34 // GTK_CHECK_VERSION is defined in gtk/gtkversion.h |
34 #include <gtk/gtk.h> | 35 #include <gtk/gtk.h> |
35 | 36 |
36 namespace WebCore { | 37 namespace WebCore { |
37 | 38 |
38 // Keep this in sync with the other platform event constructors | 39 // Keep this in sync with the other platform event constructors |
39 PlatformWheelEvent::PlatformWheelEvent(GdkEventScroll* event) | 40 PlatformWheelEvent::PlatformWheelEvent(GdkEventScroll* event) |
(...skipping 14 matching lines...) Expand all Loading... |
54 case GDK_SCROLL_LEFT: | 55 case GDK_SCROLL_LEFT: |
55 m_deltaX = -delta; | 56 m_deltaX = -delta; |
56 break; | 57 break; |
57 case GDK_SCROLL_RIGHT: | 58 case GDK_SCROLL_RIGHT: |
58 m_deltaX = delta; | 59 m_deltaX = delta; |
59 break; | 60 break; |
60 } | 61 } |
61 | 62 |
62 m_position = IntPoint((int)event->x, (int)event->y); | 63 m_position = IntPoint((int)event->x, (int)event->y); |
63 m_globalPosition = IntPoint((int)event->x_root, (int)event->y_root); | 64 m_globalPosition = IntPoint((int)event->x_root, (int)event->y_root); |
64 m_granularity = ScrollByLineWheelEvent; | 65 m_granularity = ScrollByPixelWheelEvent; |
65 m_isAccepted = false; | 66 m_isAccepted = false; |
66 m_shiftKey = event->state & GDK_SHIFT_MASK; | 67 m_shiftKey = event->state & GDK_SHIFT_MASK; |
67 m_ctrlKey = event->state & GDK_CONTROL_MASK; | 68 m_ctrlKey = event->state & GDK_CONTROL_MASK; |
68 m_altKey = event->state & GDK_MOD1_MASK; | 69 m_altKey = event->state & GDK_MOD1_MASK; |
69 #if GTK_CHECK_VERSION(2,10,0) | 70 #if GTK_CHECK_VERSION(2,10,0) |
70 m_metaKey = event->state & GDK_META_MASK; | 71 m_metaKey = event->state & GDK_META_MASK; |
71 #else | 72 #else |
72 // GDK_MOD2_MASK doesn't always mean meta so we can't use it | 73 // GDK_MOD2_MASK doesn't always mean meta so we can't use it |
73 m_metaKey = false; | 74 m_metaKey = false; |
74 #endif | 75 #endif |
75 | 76 |
76 // FIXME: retrieve the user setting for the number of lines to scroll on eac
h wheel event | 77 // FIXME: retrieve the user setting for the number of lines to scroll on eac
h wheel event |
77 m_deltaX *= horizontalLineMultiplier(); | 78 m_deltaX *= (float)cScrollbarPixelsPerLineStep; |
78 m_deltaY *= verticalLineMultiplier(); | 79 m_deltaY *= (float)cScrollbarPixelsPerLineStep; |
79 } | 80 } |
80 | 81 |
81 } | 82 } |
OLD | NEW |