Revision: 4467 http://vexi.svn.sourceforge.net/vexi/?rev=4467&view=rev Author: clrg Date: 2012-12-13 04:10:41 +0000 (Thu, 13 Dec 2012) Log Message: ----------- Prevent mousewheel messages stacking
Modified Paths: -------------- trunk/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java Modified: trunk/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java =================================================================== --- trunk/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java 2012-12-13 03:47:32 UTC (rev 4466) +++ trunk/org.vexi-core.main/src/main/java/org/vexi/core/Surface.java 2012-12-13 04:10:41 UTC (rev 4467) @@ -243,8 +243,20 @@ // these values get reset by Message private static int hscroll = 0; private static int vscroll = 0; - protected final void HScroll(int pixels) { hscroll += pixels; message(SC_HScroll, SC__HScroll, null); } - protected final void VScroll(int pixels) { vscroll += pixels; message(SC_VScroll, SC__VScroll, null); } + private static boolean hscrollScheduled = false; + private static boolean vscrollScheduled = false; + protected final void HScroll(int pixels) { + hscroll += pixels; + if (hscrollScheduled) return; + hscrollScheduled = true; + message(SC_HScroll, SC__HScroll, null); + } + protected final void VScroll(int pixels) { + vscroll += pixels; + if (vscrollScheduled) return; + vscrollScheduled = true; + message(SC_VScroll, SC__VScroll, null); + } protected final void HScroll(float lines) { /* UNSUPPORTED message(SC_HScroll, SC__HScroll, JSU.N(lines)); */ } protected final void VScroll(float lines) { /* UNSUPPORTED message(SC_VScroll, SC__VScroll, JSU.N(lines)); */ } @@ -452,9 +464,11 @@ } else if (event==SC_HScroll) { value = JSU.N(hscroll); + hscrollScheduled = false; hscroll = 0; } else if (event==SC_VScroll) { value = JSU.N(vscroll); + vscrollScheduled = false; vscroll = 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn