home *** CD-ROM | disk | FTP | other *** search
- package sun.awt;
-
- import java.awt.Adjustable;
- import java.awt.Insets;
- import java.awt.ScrollPane;
- import java.awt.event.MouseWheelEvent;
-
- public abstract class ScrollPaneWheelScroller {
- private static final DebugHelper dbg = DebugHelper.create(ScrollPaneWheelScroller.class);
-
- private ScrollPaneWheelScroller() {
- }
-
- public static void handleWheelScrolling(ScrollPane var0, MouseWheelEvent var1) {
- DebugHelper var10000 = dbg;
- int var2 = 0;
- if (var0 != null && var1.getScrollAmount() != 0) {
- Adjustable var3 = getAdjustableToScroll(var0);
- if (var3 != null) {
- var2 = getIncrementFromAdjustable(var3, var1);
- var10000 = dbg;
- scrollAdjustable(var3, var2);
- }
- }
-
- }
-
- public static Adjustable getAdjustableToScroll(ScrollPane var0) {
- int var1 = var0.getScrollbarDisplayPolicy();
- if (var1 != 1 && var1 != 2) {
- Insets var2 = var0.getInsets();
- int var3 = var0.getVScrollbarWidth();
- DebugHelper var5 = dbg;
- if (var2.right >= var3) {
- var5 = dbg;
- return var0.getVAdjustable();
- } else {
- int var4 = var0.getHScrollbarHeight();
- if (var2.bottom >= var4) {
- var5 = dbg;
- return var0.getHAdjustable();
- } else {
- var5 = dbg;
- return null;
- }
- }
- } else {
- DebugHelper var10000 = dbg;
- return var0.getVAdjustable();
- }
- }
-
- public static int getIncrementFromAdjustable(Adjustable var0, MouseWheelEvent var1) {
- int var2 = 0;
- if (var1.getScrollType() == 0) {
- var2 = var1.getUnitsToScroll() * var0.getUnitIncrement();
- } else if (var1.getScrollType() == 1) {
- var2 = var0.getBlockIncrement() * var1.getWheelRotation();
- }
-
- return var2;
- }
-
- public static void scrollAdjustable(Adjustable var0, int var1) {
- int var2 = var0.getValue();
- int var3 = var0.getMaximum() - var0.getVisibleAmount();
- DebugHelper var10000 = dbg;
- if (var1 > 0 && var2 < var3) {
- if (var2 + var1 < var3) {
- var0.setValue(var2 + var1);
- } else {
- var0.setValue(var3);
- }
- } else if (var1 < 0 && var2 > var0.getMinimum()) {
- if (var2 + var1 > var0.getMinimum()) {
- var0.setValue(var2 + var1);
- } else {
- var0.setValue(var0.getMinimum());
- }
- }
- }
- }
-