@Override public void invoke(long window, double scrollX, double scrollY) { Lwjgl3Input.this.window.getGraphics().requestRendering(); if (scrollYRemainder > 0 && scrollY < 0 || scrollYRemainder < 0 && scrollY > 0 || TimeUtils.nanoTime() - lastScrollEventTime > pauseTime ) { // fire a scroll event immediately: // - if the scroll direction changes; // - if the user did not move the wheel for more than 250ms scrollYRemainder = 0; int scrollAmount = (int)-Math.signum(scrollY); eventQueue.scrolled(scrollAmount); lastScrollEventTime = TimeUtils.nanoTime(); } else { scrollYRemainder += scrollY; while (Math.abs(scrollYRemainder) >= 1) { int scrollAmount = (int)-Math.signum(scrollY); eventQueue.scrolled(scrollAmount); lastScrollEventTime = TimeUtils.nanoTime(); scrollYRemainder += scrollAmount; } } } };
@Override public void invoke(long window, double scrollX, double scrollY) { Lwjgl3Input.this.window.getGraphics().requestRendering(); if (scrollYRemainder > 0 && scrollY < 0 || scrollYRemainder < 0 && scrollY > 0 || TimeUtils.nanoTime() - lastScrollEventTime > pauseTime ) { // fire a scroll event immediately: // - if the scroll direction changes; // - if the user did not move the wheel for more than 250ms scrollYRemainder = 0; int scrollAmount = (int)-Math.signum(scrollY); eventQueue.scrolled(scrollAmount); lastScrollEventTime = TimeUtils.nanoTime(); } else { scrollYRemainder += scrollY; while (Math.abs(scrollYRemainder) >= 1) { int scrollAmount = (int)-Math.signum(scrollY); eventQueue.scrolled(scrollAmount); lastScrollEventTime = TimeUtils.nanoTime(); scrollYRemainder += scrollAmount; } } } };
@Override public void invoke(long window, double scrollX, double scrollY) { Lwjgl3Input.this.window.getGraphics().requestRendering(); eventQueue.scrolled((int)-Math.signum(scrollY)); } };