home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.motif;
-
- import java.awt.Adjustable;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Point;
- import java.awt.ScrollPane;
- import java.awt.peer.ScrollPanePeer;
-
- class MScrollPanePeer extends MPanelPeer implements ScrollPanePeer {
- static final int UNIT_INCREMENT = 0;
- static final int BLOCK_INCREMENT = 1;
- boolean ignore;
- boolean dragInProgress = false;
- static final int MARGIN = 1;
- static final int SPACE = 2;
- static final int SCROLLBAR = 16;
- int hsbSpace;
- int vsbSpace;
- int vval;
- int hval;
- int vmax;
- int hmax;
-
- native void create(MComponentPeer var1);
-
- MScrollPanePeer(Component var1) {
- super(var1);
- this.init();
- }
-
- MScrollPanePeer(Component var1, Object var2) {
- super(var1, var2);
- this.init();
- }
-
- void init() {
- this.ignore = false;
- ScrollPane var1 = (ScrollPane)super.target;
- Adjustable var2;
- if ((var2 = var1.getVAdjustable()) != null) {
- this.pSetIncrement(1, 0, var2.getUnitIncrement());
- }
-
- Adjustable var3;
- if ((var3 = var1.getHAdjustable()) != null) {
- this.pSetIncrement(0, 0, var3.getUnitIncrement());
- }
-
- }
-
- public void setScrollChild(MComponentPeer var1) {
- this.pSetScrollChild(var1);
- }
-
- native void pSetScrollChild(MComponentPeer var1);
-
- native void pSetIncrement(int var1, int var2, int var3);
-
- native int pGetScrollbarSpace(int var1);
-
- native int pGetBlockIncrement(int var1);
-
- native Insets pInsets(int var1, int var2, int var3, int var4);
-
- public int getHScrollbarHeight() {
- ScrollPane var1 = (ScrollPane)super.target;
- return var1.getScrollbarDisplayPolicy() == 2 ? 0 : this.pGetScrollbarSpace(0);
- }
-
- public int getVScrollbarWidth() {
- ScrollPane var1 = (ScrollPane)super.target;
- return var1.getScrollbarDisplayPolicy() == 2 ? 0 : this.pGetScrollbarSpace(1);
- }
-
- public Insets insets() {
- ScrollPane var1 = (ScrollPane)super.target;
- Dimension var2 = ((Component)var1).size();
-
- Dimension var3;
- try {
- Component var4 = this.getScrollChild();
- var3 = var4.size();
- } catch (NullPointerException var5) {
- var3 = new Dimension(0, 0);
- }
-
- return this.pInsets(var2.width, var2.height, var3.width, var3.height);
- }
-
- public void setUnitIncrement(Adjustable var1, int var2) {
- ScrollPane var3 = (ScrollPane)super.target;
- if (var3.getScrollbarDisplayPolicy() != 2) {
- this.pSetIncrement(var1.getOrientation(), 0, var2);
- }
-
- }
-
- public void setValue(Adjustable var1, int var2) {
- if (!this.ignore) {
- Component var4 = this.getScrollChild();
- Point var3 = var4.getLocation();
- switch (var1.getOrientation()) {
- case 0:
- this.setScrollPosition(var2, -var3.y);
- return;
- case 1:
- this.setScrollPosition(-var3.x, var2);
- return;
- }
- }
-
- }
-
- public native void setScrollPosition(int var1, int var2);
-
- public void childResized(int var1, int var2) {
- if (((ScrollPane)super.target).getScrollbarDisplayPolicy() != 2) {
- ScrollPane var3 = (ScrollPane)super.target;
- Adjustable var4 = var3.getVAdjustable();
- Adjustable var5 = var3.getHAdjustable();
- this.pSetIncrement(1, 0, var4.getUnitIncrement());
- this.pSetIncrement(0, 0, var5.getUnitIncrement());
- this.pSetIncrement(1, 1, var4.getBlockIncrement());
- this.pSetIncrement(0, 1, var5.getBlockIncrement());
- }
-
- }
-
- public void scrolledVertical(int var1, int var2) {
- ScrollPane var3 = (ScrollPane)super.target;
- Adjustable var4 = var3.getVAdjustable();
- if (var4 != null) {
- Adjustor var5 = new Adjustor(this, var4, var1, this);
- MToolkit.postEvent(var5);
- }
-
- }
-
- public void scrolledHorizontal(int var1, int var2) {
- ScrollPane var3 = (ScrollPane)super.target;
- Adjustable var4 = var3.getHAdjustable();
- if (var4 != null) {
- Adjustor var5 = new Adjustor(this, var4, var1, this);
- MToolkit.postEvent(var5);
- }
-
- }
-
- private Component getScrollChild() {
- ScrollPane var1 = (ScrollPane)super.target;
- if (((Container)var1).countComponents() > 0) {
- return ((Container)var1).getComponent(0);
- } else {
- throw new NullPointerException("child is null");
- }
- }
-
- public void print(Graphics var1) {
- ScrollPane var2 = (ScrollPane)super.target;
- Dimension var3 = ((Component)var2).size();
- Color var4 = ((Component)var2).getBackground();
- ((Component)var2).getForeground();
- Point var5 = var2.getScrollPosition();
- Component var6 = this.getScrollChild();
- Dimension var7 = var6.size();
- int var8 = var2.getScrollbarDisplayPolicy();
- switch (var8) {
- case 0:
- this.hsbSpace = var7.width <= var3.width - 2 ? 0 : 16;
- this.vsbSpace = var7.height <= var3.height - 2 ? 0 : 16;
- if (this.hsbSpace == 0 && this.vsbSpace != 0) {
- this.hsbSpace = var7.width <= var3.width - 16 - 2 ? 0 : 16;
- }
-
- if (this.vsbSpace == 0 && this.hsbSpace != 0) {
- this.vsbSpace = var7.height <= var3.height - 16 - 2 ? 0 : 16;
- }
- break;
- case 1:
- this.hsbSpace = this.vsbSpace = 16;
- break;
- case 2:
- this.hsbSpace = this.vsbSpace = 0;
- }
-
- int var16 = 0;
- int var15 = 0;
- int var14 = 0;
- int var13 = 0;
- byte var12 = 0;
- byte var11 = 0;
- int var10 = 0;
- int var9 = 0;
- if (this.vsbSpace > 0) {
- var11 = 0;
- var9 = var3.height - 2 - 2 - this.hsbSpace;
- var13 = Math.max(var7.height - var9, 0);
- var15 = var5.y;
- }
-
- if (this.hsbSpace > 0) {
- var12 = 0;
- var10 = var3.width - 2 - 2 - this.vsbSpace;
- var14 = Math.max(var7.width - var10, 0);
- var16 = var5.x;
- }
-
- int var17 = var3.width - (this.vsbSpace > 0 ? this.vsbSpace + 2 : 0);
- int var18 = var3.height - (this.hsbSpace > 0 ? this.hsbSpace + 2 : 0);
- var1.setColor(var4);
- var1.fillRect(0, 0, var3.width, var3.height);
- if (this.hsbSpace > 0) {
- int var19 = var3.width - this.vsbSpace;
- Graphics var20 = var1.create();
- var1.fillRect(1, var3.height - 16 - 3, var19 - 1, 13);
-
- try {
- var20.translate(0, var3.height - 14);
- ((MComponentPeer)this).drawScrollbar(var20, var4, 14, var19, var12, var14, var16, var10, true);
- } finally {
- var20.dispose();
- }
- }
-
- if (this.vsbSpace > 0) {
- int var29 = var3.height - this.hsbSpace;
- Graphics var30 = var1.create();
- var1.fillRect(var3.width - 16 - 3, 1, 13, var29 - 1);
-
- try {
- var30.translate(var3.width - 14, 0);
- ((MComponentPeer)this).drawScrollbar(var30, var4, 14, var29, var11, var13, var15, var9, false);
- } finally {
- var30.dispose();
- }
- }
-
- ((MComponentPeer)this).draw3DRect(var1, var4, 0, 0, var17 - 1, var18 - 1, false);
- super.target.print(var1);
- var2.printComponents(var1);
- }
- }
-