+
+ class InnerFrame extends Frame {
+ public InnerFrame() throws java.lang.UnsupportedOperationException { }
+ public void update(Graphics gr) { paint(gr); }
+ public void paint(Graphics gr) {
+ Rectangle r = gr.getClipBounds();
+
+ // ugly hack for Java1.4 dynamicLayout on Win32 -- this catches expansions during smooth resize
+ int newwidth = Math.max(r.x - insets.left + r.width, width);
+ int newheight = Math.max(r.y - insets.top + r.height, height);
+ if (newwidth > width || newheight > height)
+ componentResized(window.getWidth() - insets.left - insets.right, window.getHeight() - insets.top - insets.bottom);
+
+ Dirty(r.x - insets.left, r.y - insets.top, r.width, r.height);
+ }
+ }
+
+ class InnerWindow extends Window {
+ public InnerWindow() throws java.lang.UnsupportedOperationException { super(new Frame()); }
+ public void update(Graphics gr) { paint(gr); }
+ public void paint(Graphics gr) {
+ Rectangle r = gr.getClipBounds();
+ Dirty(r.x - insets.left, r.y - insets.top, r.width, r.height);
+ }
+ }
+