diff options
author | Felipe Heidrich | 2007-02-28 22:16:13 +0000 |
---|---|---|
committer | Felipe Heidrich | 2007-02-28 22:16:13 +0000 |
commit | b43117ad9858c03409a2e9f0784d7f52bcda4059 (patch) | |
tree | 2195c8f275822f9e669e50ee543c5434888ea53a /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java | |
parent | c8193bc9a4a793d52cbbee0dd2c9f7b8f032d8fb (diff) | |
download | eclipse.platform.swt-b43117ad9858c03409a2e9f0784d7f52bcda4059.tar.gz eclipse.platform.swt-b43117ad9858c03409a2e9f0784d7f52bcda4059.tar.xz eclipse.platform.swt-b43117ad9858c03409a2e9f0784d7f52bcda4059.zip |
Bug 172316 - Display.post() should support mouse buttons 4 and 5
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index daea9ed3fe..8a3c9b2709 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -2824,11 +2824,28 @@ public boolean post (Event event) { OS.XTestFakeMotionEvent (xDisplay, -1, event.x, event.y, 0); } else { int button = event.button; - if (button < 1 || button > 3) return false; + switch (button) { + case 1: + case 2: + case 3: break; + case 4: button = 6; break; + case 5: button = 7; break; + default: return false; + } OS.XTestFakeButtonEvent (xDisplay, button, type == SWT.MouseDown, 0); } return true; } + /* + * This code is intentionally commented. After posting a + * mouse wheel event the system may respond unpredictably + * to subsequent mouse actions. + */ +// case SWT.MouseWheel: { +// if (event.count == 0) return false; +// int button = event.count < 0 ? 5 : 4; +// OS.XTestFakeButtonEvent (xDisplay, button, type == SWT.MouseWheel, 0); +// } } return false; } |