X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTScrollableWindow.java;h=ae5f50c570e645a78f79d4170a73138e0fe3d41a;hb=fe0770f988e64fc0ccafd3d3b086b4a0eb559d3b;hp=ce20df7df9f5d1f9d68cbccaa38345277feea2e7;hpb=df602ccf5e32585c26dc618dd3b4a759b6820943;p=fanfix.git diff --git a/src/jexer/TScrollableWindow.java b/src/jexer/TScrollableWindow.java index ce20df7..ae5f50c 100644 --- a/src/jexer/TScrollableWindow.java +++ b/src/jexer/TScrollableWindow.java @@ -28,6 +28,7 @@ */ package jexer; +import jexer.event.TMouseEvent; import jexer.event.TResizeEvent; /** @@ -599,4 +600,46 @@ public class TScrollableWindow extends TWindow implements Scrollable { } } + /** + * Check if a mouse press/release/motion event coordinate is over the + * vertical scrollbar. + * + * @param mouse a mouse-based event + * @return whether or not the mouse is on the scrollbar + */ + protected final boolean mouseOnVerticalScroller(final TMouseEvent mouse) { + if (vScroller == null) { + return false; + } + if ((mouse.getAbsoluteX() == vScroller.getAbsoluteX()) + && (mouse.getAbsoluteY() >= vScroller.getAbsoluteY()) + && (mouse.getAbsoluteY() < vScroller.getAbsoluteY() + + vScroller.getHeight()) + ) { + return true; + } + return false; + } + + /** + * Check if a mouse press/release/motion event coordinate is over the + * horizontal scrollbar. + * + * @param mouse a mouse-based event + * @return whether or not the mouse is on the scrollbar + */ + protected final boolean mouseOnHorizontalScroller(final TMouseEvent mouse) { + if (hScroller == null) { + return false; + } + if ((mouse.getAbsoluteY() == hScroller.getAbsoluteY()) + && (mouse.getAbsoluteX() >= hScroller.getAbsoluteX()) + && (mouse.getAbsoluteX() < hScroller.getAbsoluteX() + + hScroller.getWidth()) + ) { + return true; + } + return false; + } + }