home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.LayoutManager;
- import java.awt.Point;
- import java.io.Serializable;
-
- public class ViewportLayout implements LayoutManager, Serializable {
- public void addLayoutComponent(String var1, Component var2) {
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- Component var2 = ((JViewport)var1).getView();
- if (var2 == null) {
- return new Dimension(0, 0);
- } else {
- return var2 instanceof Scrollable ? ((Scrollable)var2).getPreferredScrollableViewportSize() : var2.getPreferredSize();
- }
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- return new Dimension(4, 4);
- }
-
- public void layoutContainer(Container var1) {
- JViewport var2 = (JViewport)var1;
- Component var3 = var2.getView();
- Scrollable var4 = null;
- if (var3 != null) {
- if (var3 instanceof Scrollable) {
- var4 = (Scrollable)var3;
- }
-
- var2.getInsets();
- Dimension var5 = var3.getPreferredSize();
- Dimension var6 = ((Component)var2).getSize();
- Dimension var7 = var2.toViewCoordinates(var6);
- if (var4 != null) {
- if (var4.getScrollableTracksViewportWidth()) {
- var5.width = var6.width;
- }
-
- if (var4.getScrollableTracksViewportHeight()) {
- var5.height = var6.height;
- }
- }
-
- Point var9 = var2.getViewPosition();
- if (var9.y + var7.height > var5.height) {
- var9.y = 0;
- }
-
- if (var9.x + var7.width > var5.width) {
- var9.x = 0;
- }
-
- if (var9.y == 0 && var6.height > var5.height) {
- var5.height = var6.height;
- }
-
- if (var9.x == 0 && var6.width > var5.width) {
- var5.width = var6.width;
- }
-
- var2.setViewPosition(var9);
- var2.setViewSize(var5);
- }
- }
- }
-