/[classpath]/classpath/javax/swing/ViewportLayout.java
ViewVC logotype

Diff of /classpath/javax/swing/ViewportLayout.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by mark, Sat Jun 26 16:07:01 2004 UTC revision 1.9 by mark, Thu Jul 22 19:45:39 2004 UTC
# Line 67  public class ViewportLayout implements L Line 67  public class ViewportLayout implements L
67    {    {
68      JViewport vp = (JViewport)parent;      JViewport vp = (JViewport)parent;
69      Component view = vp.getView();      Component view = vp.getView();
     if (view instanceof Scrollable)  
       {  
         Scrollable sc = (Scrollable) view;  
         Dimension d = sc.getPreferredScrollableViewportSize();  
         return d;  
       }  
     else  
70        return view.getPreferredSize();        return view.getPreferredSize();
71    }    }
72    public Dimension minimumLayoutSize(Container parent)    public Dimension minimumLayoutSize(Container parent)
# Line 126  public class ViewportLayout implements L Line 119  public class ViewportLayout implements L
119      // the viewport require inputs in view space.      // the viewport require inputs in view space.
120    
121      Rectangle portBounds = port.getViewRect();      Rectangle portBounds = port.getViewRect();
122      Dimension viewSize = port.getViewSize();      Dimension viewPref = view.getPreferredSize();
123      Dimension viewMinimum = view.getMinimumSize();      Dimension viewMinimum = view.getMinimumSize();
124      Point portLowerRight = new Point(portBounds.x + portBounds.width,      Point portLowerRight = new Point(portBounds.x + portBounds.width,
125                                       portBounds.y + portBounds.height);                                       portBounds.y + portBounds.height);
# Line 135  public class ViewportLayout implements L Line 128  public class ViewportLayout implements L
128      if (portBounds.height >= viewMinimum.height)      if (portBounds.height >= viewMinimum.height)
129        {        {
130          portBounds.y = 0;          portBounds.y = 0;
131          viewSize.height = portBounds.height;          viewPref.height = portBounds.height;
132        }        }
133      else      else
134        {        {
135          viewSize.height = viewMinimum.height;          viewPref.height = viewMinimum.height;
136          int overextension = portLowerRight.y - viewSize.height;          int overextension = portLowerRight.y - viewPref.height;
137          if (overextension > 0)          if (overextension > 0)
138              portBounds.y -= overextension;              portBounds.y -= overextension;
139        }        }
# Line 149  public class ViewportLayout implements L Line 142  public class ViewportLayout implements L
142      if (portBounds.width >= viewMinimum.width)      if (portBounds.width >= viewMinimum.width)
143        {        {
144          portBounds.x = 0;          portBounds.x = 0;
145          viewSize.width = portBounds.width;          viewPref.width = portBounds.width;
146        }        }
147      else      else
148        {        {
149          viewSize.width = viewMinimum.width;          viewPref.width = viewMinimum.width;
150          int overextension = portLowerRight.x - viewSize.width;          int overextension = portLowerRight.x - viewPref.width;
151          if (overextension > 0)          if (overextension > 0)
152              portBounds.x -= overextension;              portBounds.x -= overextension;
153        }        }
154    
155      port.setViewPosition(portBounds.getLocation());      port.setViewPosition(portBounds.getLocation());
156      port.setViewSize(viewSize);      port.setViewSize(viewPref);
157    }    }
158  }  }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26