< prev index next >

modules/javafx.swt/src/main/java/javafx/embed/swt/SWTEvents.java

Print this page
rev 10032 : 8143596: Ensure FXCanvas properly forwards SWT gesture events to its embedded scene.
Summary: Ensured SWT magnify, rotate, pan, and swipe events are properly forwarded to the embedded scene.
Reviewed-by: XXXX

*** 24,34 **** */ package javafx.embed.swt; import org.eclipse.swt.SWT; ! import org.eclipse.swt.events.MouseEvent; import java.lang.reflect.Method; //import com.sun.glass.events.KeyEvent; import com.sun.javafx.embed.AbstractEvents; --- 24,34 ---- */ package javafx.embed.swt; import org.eclipse.swt.SWT; ! //import org.eclipse.swt.events.MouseEvent; import java.lang.reflect.Method; //import com.sun.glass.events.KeyEvent; import com.sun.javafx.embed.AbstractEvents;
*** 71,83 **** case 3: return AbstractEvents.MOUSEEVENT_SECONDARY_BUTTON; } return AbstractEvents.MOUSEEVENT_NONE_BUTTON; } ! static int getWheelRotation(Event e) { int divisor = 1; ! if ("win32".equals(SWT.getPlatform())) { int [] linesToScroll = new int [1]; //OS.SystemParametersInfo (OS.SPI_GETWHEELSCROLLLINES, 0, linesToScroll, 0); try { Class clazz = Class.forName("org.eclipse.swt.internal.win32.OS"); Method method = clazz.getDeclaredMethod("SystemParametersInfo", new Class []{int.class, int.class, int [].class, int.class}); --- 71,83 ---- case 3: return AbstractEvents.MOUSEEVENT_SECONDARY_BUTTON; } return AbstractEvents.MOUSEEVENT_NONE_BUTTON; } ! static double getWheelRotation(Event e) { int divisor = 1; ! if ("win32".equals(SWT.getPlatform()) && e.type == SWT.MouseVerticalWheel) { int [] linesToScroll = new int [1]; //OS.SystemParametersInfo (OS.SPI_GETWHEELSCROLLLINES, 0, linesToScroll, 0); try { Class clazz = Class.forName("org.eclipse.swt.internal.win32.OS"); Method method = clazz.getDeclaredMethod("SystemParametersInfo", new Class []{int.class, int.class, int [].class, int.class});
*** 89,104 **** //Fail silently } if (linesToScroll [0] != -1 /*OS.WHEEL_PAGESCROLL*/) { divisor = linesToScroll [0]; } ! } else { ! if ("gtk".equals(SWT.getPlatform())) { divisor = 3; } } ! return -e.count / Math.max(1, divisor); } static int keyIDToEmbedKeyType(int id) { switch (id) { case SWT.KeyDown: --- 89,105 ---- //Fail silently } if (linesToScroll [0] != -1 /*OS.WHEEL_PAGESCROLL*/) { divisor = linesToScroll [0]; } ! } else if ("gtk".equals(SWT.getPlatform())) { divisor = 3; } + else if ("cocoa".equals(SWT.getPlatform())) { + divisor = Math.abs(e.count); } ! return e.count / (double) Math.max(1, divisor); } static int keyIDToEmbedKeyType(int id) { switch (id) { case SWT.KeyDown:
< prev index next >