Makefile.am (gtk_awt_peer_sources): Add gnu/java/awt/peer/GLightweightPeer.java.
authorScott Gilbertson <scottg@mantatest.com>
Thu, 21 Aug 2003 18:39:56 +0000 (18:39 +0000)
committerThomas Fitzsimmons <fitzsim@gcc.gnu.org>
Thu, 21 Aug 2003 18:39:56 +0000 (18:39 +0000)
2003-08-21  Scott Gilbertson  <scottg@mantatest.com>
            Thomas Fitzsimmons  <fitzsim@redhat.com>

* Makefile.am (gtk_awt_peer_sources): Add
gnu/java/awt/peer/GLightweightPeer.java.  Remove
gnu/java/awt/GLightweightPeer.java.
* gnu/java/awt/GLightweightPeer.java: Remove file.
* gnu/java/awt/peer/GLightweightPeer.java: New file.
* java/awt/Component.java (getToolkit): Add comment about
lightweight components.
* java/awt/Toolkit.java (createComponent): Return
gnu.java.awt.peer.GLightweightPeer.

Co-Authored-By: Thomas Fitzsimmons <fitzsim@redhat.com>
From-SVN: r70657

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/gcj/Makefile.in
libjava/gnu/java/awt/GLightweightPeer.java [deleted file]
libjava/gnu/java/awt/peer/GLightweightPeer.java [new file with mode: 0644]
libjava/include/Makefile.in
libjava/java/awt/Component.java
libjava/java/awt/Toolkit.java
libjava/testsuite/Makefile.in

index 1333cb4f971bf6015e870ec6617cf73dcd668279..06595e00db7b8fa69a888e89570c3fff009e1cd7 100644 (file)
@@ -1,3 +1,16 @@
+2003-08-21  Scott Gilbertson  <scottg@mantatest.com>
+            Thomas Fitzsimmons  <fitzsim@redhat.com>
+
+       * Makefile.am (gtk_awt_peer_sources): Add
+       gnu/java/awt/peer/GLightweightPeer.java.  Remove
+       gnu/java/awt/GLightweightPeer.java.
+       * gnu/java/awt/GLightweightPeer.java: Remove file.
+       * gnu/java/awt/peer/GLightweightPeer.java: New file.
+       * java/awt/Component.java (getToolkit): Add comment about
+       lightweight components.
+       * java/awt/Toolkit.java (createComponent): Return
+       gnu.java.awt.peer.GLightweightPeer.
+
 2003-08-21  Richard Earnshaw  <rearnsha@arm.com>
 
        * configure.in: Fix detection of gcj when building with newlib.
index cfbdbd80783aa5925825962ea526498facbc4855..7869df021f30b55acc5ab01364ad1845ab80c174 100644 (file)
@@ -758,10 +758,10 @@ gnu/java/awt/ComponentDataBlitOp.java \
 gnu/java/awt/EmbeddedWindow.java \
 gnu/java/awt/EmbeddedWindowSupport.java \
 gnu/java/awt/EventModifier.java \
-gnu/java/awt/GLightweightPeer.java \
 gnu/java/awt/image/ImageDecoder.java \
 gnu/java/awt/image/XBMDecoder.java \
 gnu/java/awt/peer/EmbeddedWindowPeer.java \
+gnu/java/awt/peer/GLightweightPeer.java \
 gnu/java/beans/editors/ColorEditor.java        \
 gnu/java/beans/editors/FontEditor.java \
 gnu/java/beans/editors/NativeBooleanEditor.java        \
index 6ba2a97960583c7c6711893bce42f8b35a574816..b98f5208d996616d44c683cf40293ceed9192149 100644 (file)
@@ -530,10 +530,10 @@ gnu/java/awt/ComponentDataBlitOp.java \
 gnu/java/awt/EmbeddedWindow.java \
 gnu/java/awt/EmbeddedWindowSupport.java \
 gnu/java/awt/EventModifier.java \
-gnu/java/awt/GLightweightPeer.java \
 gnu/java/awt/image/ImageDecoder.java \
 gnu/java/awt/image/XBMDecoder.java \
 gnu/java/awt/peer/EmbeddedWindowPeer.java \
+gnu/java/awt/peer/GLightweightPeer.java \
 gnu/java/beans/editors/ColorEditor.java        \
 gnu/java/beans/editors/FontEditor.java \
 gnu/java/beans/editors/NativeBooleanEditor.java        \
@@ -2688,14 +2688,13 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
 DATA =  $(jar_DATA) $(pkgconfig_DATA) $(toolexecmainlib_DATA)
 
 DIST_COMMON =  README COPYING ChangeLog Makefile.am Makefile.in NEWS \
-THANKS acconfig.h acinclude.m4 aclocal.m4 configure configure.in \
-gcj/libgcj-config.h.in gcj/stamp-h2.in include/config.h.in \
-include/stamp-h1.in libgcj-test.spec.in libgcj.pc.in libgcj.spec.in
+THANKS acinclude.m4 aclocal.m4 configure configure.in \
+libgcj-test.spec.in libgcj.pc.in libgcj.spec.in
 
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
+TAR = gtar
 GZIP_ENV = --best
 DIST_SUBDIRS =  @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
 DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
@@ -2789,11 +2788,11 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/gnu/java/awt/EmbeddedWindow.P \
 .deps/gnu/java/awt/EmbeddedWindowSupport.P \
 .deps/gnu/java/awt/EventModifier.P \
-.deps/gnu/java/awt/GLightweightPeer.P \
 .deps/gnu/java/awt/image/ImageDecoder.P \
 .deps/gnu/java/awt/image/XBMDecoder.P \
 .deps/gnu/java/awt/natEmbeddedWindow.P \
 .deps/gnu/java/awt/peer/EmbeddedWindowPeer.P \
+.deps/gnu/java/awt/peer/GLightweightPeer.P \
 .deps/gnu/java/awt/peer/gtk/GdkFontMetrics.P \
 .deps/gnu/java/awt/peer/gtk/GdkGraphics.P \
 .deps/gnu/java/awt/peer/gtk/GtkArg.P \
@@ -4318,53 +4317,6 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
 $(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
        cd $(srcdir) && $(AUTOCONF)
-
-include/config.h: include/stamp-h1
-       @if test ! -f $@; then \
-               rm -f include/stamp-h1; \
-               $(MAKE) include/stamp-h1; \
-       else :; fi
-include/stamp-h1: $(srcdir)/include/config.h.in $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES= CONFIG_HEADERS=include/config.h \
-            $(SHELL) ./config.status
-       @echo timestamp > include/stamp-h1 2> /dev/null
-$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h1.in
-       @if test ! -f $@; then \
-               rm -f $(srcdir)/include/stamp-h1.in; \
-               $(MAKE) $(srcdir)/include/stamp-h1.in; \
-       else :; fi
-$(srcdir)/include/stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-       cd $(top_srcdir) && $(AUTOHEADER)
-       @echo timestamp > $(srcdir)/include/stamp-h1.in 2> /dev/null
-
-gcj/libgcj-config.h: gcj/stamp-h2
-       @if test ! -f $@; then \
-               rm -f gcj/stamp-h2; \
-               $(MAKE) gcj/stamp-h2; \
-       else :; fi
-gcj/stamp-h2: $(srcdir)/gcj/libgcj-config.h.in $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES= CONFIG_HEADERS=gcj/libgcj-config.h \
-            $(SHELL) ./config.status
-       @echo timestamp > gcj/stamp-h2 2> /dev/null
-$(srcdir)/gcj/libgcj-config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/gcj/stamp-h2.in
-       @if test ! -f $@; then \
-               rm -f $(srcdir)/gcj/stamp-h2.in; \
-               $(MAKE) $(srcdir)/gcj/stamp-h2.in; \
-       else :; fi
-$(srcdir)/gcj/stamp-h2.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-       cd $(top_srcdir) && $(AUTOHEADER)
-       @echo timestamp > $(srcdir)/gcj/stamp-h2.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
-       -rm -f include/config.h gcj/libgcj-config.h
-
-maintainer-clean-hdr:
 libgcj.pc: $(top_builddir)/config.status libgcj.pc.in
        cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
@@ -4829,32 +4781,29 @@ distclean-generic:
        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-hdr mostlyclean-toolexeclibLTLIBRARIES \
-               mostlyclean-compile mostlyclean-libtool \
-               mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
-               mostlyclean-tags mostlyclean-depend mostlyclean-generic
+mostlyclean-am:  mostlyclean-toolexeclibLTLIBRARIES mostlyclean-compile \
+               mostlyclean-libtool mostlyclean-binPROGRAMS \
+               mostlyclean-noinstPROGRAMS mostlyclean-tags \
+               mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-recursive
 
-clean-am:  clean-hdr clean-toolexeclibLTLIBRARIES clean-compile \
-               clean-libtool clean-binPROGRAMS clean-noinstPROGRAMS \
-               clean-tags clean-depend clean-generic mostlyclean-am \
-               clean-local
+clean-am:  clean-toolexeclibLTLIBRARIES clean-compile clean-libtool \
+               clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \
+               clean-depend clean-generic mostlyclean-am clean-local
 
 clean: clean-recursive
 
-distclean-am:  distclean-hdr distclean-toolexeclibLTLIBRARIES \
-               distclean-compile distclean-libtool \
-               distclean-binPROGRAMS distclean-noinstPROGRAMS \
-               distclean-tags distclean-depend distclean-generic \
-               clean-am
+distclean-am:  distclean-toolexeclibLTLIBRARIES distclean-compile \
+               distclean-libtool distclean-binPROGRAMS \
+               distclean-noinstPROGRAMS distclean-tags \
+               distclean-depend distclean-generic clean-am
        -rm -f libtool
 
 distclean: distclean-recursive
        -rm -f config.status
 
-maintainer-clean-am:  maintainer-clean-hdr \
-               maintainer-clean-toolexeclibLTLIBRARIES \
+maintainer-clean-am:  maintainer-clean-toolexeclibLTLIBRARIES \
                maintainer-clean-compile maintainer-clean-libtool \
                maintainer-clean-binPROGRAMS \
                maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
@@ -4866,9 +4815,9 @@ maintainer-clean-am:  maintainer-clean-hdr \
 maintainer-clean: maintainer-clean-recursive
        -rm -f config.status
 
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-mostlyclean-toolexeclibLTLIBRARIES distclean-toolexeclibLTLIBRARIES \
-clean-toolexeclibLTLIBRARIES maintainer-clean-toolexeclibLTLIBRARIES \
+.PHONY: mostlyclean-toolexeclibLTLIBRARIES \
+distclean-toolexeclibLTLIBRARIES clean-toolexeclibLTLIBRARIES \
+maintainer-clean-toolexeclibLTLIBRARIES \
 uninstall-toolexeclibLTLIBRARIES install-toolexeclibLTLIBRARIES \
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
index fa140875acd731bcd350bd141c2982944d974878..064b5227625567dfa89132d54cc14d8f8a2c6584 100644 (file)
@@ -125,6 +125,7 @@ STRIP = @STRIP@
 SYSDEP_SOURCES = @SYSDEP_SOURCES@
 SYSTEMSPEC = @SYSTEMSPEC@
 SYS_ZLIBS = @SYS_ZLIBS@
+THREADCXXFLAGS = @THREADCXXFLAGS@
 THREADDEPS = @THREADDEPS@
 THREADINCS = @THREADINCS@
 THREADLDFLAGS = @THREADLDFLAGS@
diff --git a/libjava/gnu/java/awt/GLightweightPeer.java b/libjava/gnu/java/awt/GLightweightPeer.java
deleted file mode 100644 (file)
index cb1aac5..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Copyright (C) 2000, 2002  Free Software Foundation
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version. */
-
-package gnu.java.awt;
-
-import java.awt.*;
-import java.awt.event.PaintEvent;
-import java.awt.peer.*;
-import java.awt.image.*;
-
-/**
- * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
- */
-public class GLightweightPeer implements LightweightPeer
-{
-  public static final GLightweightPeer INSTANCE = new GLightweightPeer();
-
-  public GLightweightPeer() {}
-
-  // -------- java.awt.peer.ComponentPeer implementation:
-  
-  public int checkImage(Image img, int width, int height, ImageObserver o)
-  {
-    return 0;
-  }
-
-  public Image createImage(ImageProducer prod)
-  {
-    return null;
-  }
-
-  public Image createImage(int width, int height)
-  {
-    return null;
-  }
-
-  public void disable() {}
-
-  public void dispose() {}
-
-  public void enable() {}
-
-  public GraphicsConfiguration getGraphicsConfiguration()
-  {
-    return null;
-  }
-  
-  public FontMetrics getFontMetrics(Font f)
-  {
-    return null;
-  }
-
-  public Graphics getGraphics()
-  {
-    return null;
-  }
-
-  public Point getLocationOnScreen()
-  {
-    return null;
-  }
-
-  public Dimension getMinimumSize()
-  {
-    return null;
-  }
-
-  public Dimension getPreferredSize()
-  {
-    return null;
-  }
-
-  public Toolkit getToolkit()
-  {
-    return null;
-  }
-
-  public void handleEvent(AWTEvent e) {}
-
-  public void hide() {}
-
-  public boolean isFocusable() 
-  {
-    return false;
-  }
-
-  public boolean isFocusTraversable()
-  {
-    return false;
-  }
-
-  public Dimension minimumSize()
-  {
-    return null;
-  }
-
-  public Dimension preferredSize()
-  {
-    return null;
-  }
-
-  public void paint(Graphics graphics) {}
-
-  public boolean prepareImage(Image img, int width, int height,
-                             ImageObserver o)
-  {
-    return false;
-  }
-
-  public void print(Graphics graphics) {}
-
-  public void repaint(long tm, int x, int y, int width, int height) {}
-
-  public void requestFocus() {}
-
-  public boolean requestFocus(java.awt.Component source, boolean bool1, boolean bool2, long x) { return false; }
-
-  public void reshape(int x, int y, int width, int height) {}
-
-  public void setBackground(Color color) {}
-
-  public void setBounds(int x, int y, int width, int height) {}
-
-  public void setCursor(Cursor cursor) {}
-
-  public void setEnabled(boolean enabled) {}
-
-  public void setEventMask(long eventMask) {}
-
-  public void setFont(Font font) {}
-
-  public void setForeground(Color color) {}
-
-  public void setVisible(boolean visible) {}
-
-  public void show() {}
-
-  public ColorModel getColorModel ()
-  {
-    return null;
-  }
-
-  public boolean isObscured() { return false; }
-
-  public boolean canDetermineObscurity() { return false; }
-
-  public void coalescePaintEvent(PaintEvent e) { }
-
-  public void updateCursorImmediately() { }
-
-  public VolatileImage createVolatileImage(int width, int height) 
-  { 
-    return null; 
-  }
-
-  public boolean handlesWheelScrolling() { return false; }
-
-  public void createBuffers(int x, java.awt.BufferCapabilities capabilities) 
-    throws java.awt.AWTException { }
-
-  public java.awt.Image getBackBuffer() { return null; }
-
-  public void flip(java.awt.BufferCapabilities.FlipContents contents) { }
-
-  public void destroyBuffers() { }
-}
diff --git a/libjava/gnu/java/awt/peer/GLightweightPeer.java b/libjava/gnu/java/awt/peer/GLightweightPeer.java
new file mode 100644 (file)
index 0000000..5c0ea49
--- /dev/null
@@ -0,0 +1,298 @@
+/* GLightweightPeer.java --
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.peer;
+
+import java.awt.AWTEvent;
+import java.awt.AWTException;
+import java.awt.BufferCapabilities;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.GraphicsConfiguration;
+import java.awt.Image;
+import java.awt.Insets;
+import java.awt.Point;
+import java.awt.Toolkit;
+import java.awt.event.PaintEvent;
+import java.awt.image.ColorModel;
+import java.awt.image.ImageObserver;
+import java.awt.image.ImageProducer;
+import java.awt.image.VolatileImage;
+import java.awt.peer.ContainerPeer;
+import java.awt.peer.LightweightPeer;
+
+/*
+ * Another possible implementation strategy for lightweight peers is
+ * to make GLightweightPeer a placeholder class that implements
+ * LightweightPeer.  Then the Component and Container classes could
+ * identify a peer as lightweight and handle it specially.  The
+ * current approach is probably more clear but less efficient.
+ */
+
+/**
+ * A stub class that implements the ComponentPeer and ContainerPeer
+ * interfaces using callbacks into the Component and Container
+ * classes.  GLightweightPeer allows the Component and Container
+ * classes to treat lightweight and heavyweight peers in the same way.
+ *
+ * Lightweight components are painted directly onto their parent
+ * containers through an Image object provided by the toolkit.
+ */
+public class GLightweightPeer
+  implements LightweightPeer, ContainerPeer
+{
+  private Component comp;
+
+  private Insets containerInsets;
+
+  public GLightweightPeer(Component comp)
+  {
+    this.comp = comp;
+  }
+
+  // -------- java.awt.peer.ContainerPeer implementation:
+  
+  public Insets insets()
+  {
+    return getInsets ();
+  }
+  
+  public Insets getInsets()
+  {
+    if (containerInsets == null)
+      containerInsets = new Insets (0,0,0,0);
+    return containerInsets;
+  }
+  
+  public void beginValidate()
+  {
+  }
+  
+  public void endValidate()
+  {
+  }
+  
+  public void beginLayout()
+  {
+  }
+  
+  public void endLayout()
+  {
+  }
+  
+  public boolean isPaintPending()
+  {
+    return false;
+  }
+
+  // -------- java.awt.peer.ComponentPeer implementation:
+
+  public int checkImage(Image img, int width, int height, ImageObserver o)
+  {
+    return comp.getToolkit().checkImage(img, width, height, o);
+  }
+
+  public Image createImage(ImageProducer prod)
+  {
+    return comp.getToolkit().createImage(prod);
+  }
+
+  /* This method is not called. */
+  public Image createImage(int width, int height)
+  {
+    return null;
+  }
+
+  public void disable() {}
+
+  public void dispose() {}
+
+  public void enable() {}
+
+  public GraphicsConfiguration getGraphicsConfiguration()
+  {
+    return null;
+  }
+
+  public FontMetrics getFontMetrics(Font f)
+  {
+    return comp.getToolkit().getFontMetrics(f);
+  }
+
+  /* Returning null here tells the Component object that called us to
+   * use its parent's Graphics. */
+  public Graphics getGraphics()
+  {
+    return null;
+  }
+
+  public Point getLocationOnScreen()
+  {
+    Point parentLocation = comp.getParent().getLocationOnScreen();
+    return new Point (parentLocation.x + comp.getX(),
+                      parentLocation.y + comp.getY());
+  }
+
+  public Dimension getMinimumSize()
+  {
+    return new Dimension(comp.getWidth(), comp.getHeight());
+  }
+
+  /* A lightweight component's preferred size is equivalent to its
+   * Component width and height values. */
+  public Dimension getPreferredSize()
+  {
+    return new Dimension(comp.getWidth(), comp.getHeight());
+  }
+
+  /* Returning null here tells the Component object that called us to
+   * use its parent's Toolkit. */
+  public Toolkit getToolkit()
+  {
+    return null;
+  }
+
+  public void handleEvent(AWTEvent e) {}
+
+  public void hide() {}
+
+  public boolean isFocusable() 
+  {
+    return false;
+  }
+
+  public boolean isFocusTraversable()
+  {
+    return false;
+  }
+
+  public Dimension minimumSize()
+  {
+    return getMinimumSize();
+  }
+
+  public Dimension preferredSize()
+  {
+    return getPreferredSize();
+  }
+
+  public void paint(Graphics graphics) {}
+
+  public boolean prepareImage(Image img, int width, int height,
+                             ImageObserver o)
+  {
+    return comp.getToolkit().prepareImage(img, width, height, o);
+  }
+
+  public void print(Graphics graphics) {}
+
+  public void repaint(long tm, int x, int y, int width, int height) {}
+
+  public void requestFocus() {}
+
+  public boolean requestFocus(Component source, boolean bool1, boolean bool2, long x)
+  {
+    return false;
+  }
+
+  public void reshape(int x, int y, int width, int height) {}
+
+  public void setBackground(Color color) {}
+
+  public void setBounds(int x, int y, int width, int height) { }
+
+  public void setCursor(Cursor cursor) {}
+
+  public void setEnabled(boolean enabled) {}
+
+  public void setEventMask(long eventMask) {}
+
+  public void setFont(Font font) {}
+
+  public void setForeground(Color color) {}
+
+  public void setVisible(boolean visible) {}
+
+  public void show() {}
+
+  public ColorModel getColorModel ()
+  {
+    return comp.getColorModel ();
+  }
+
+  public boolean isObscured()
+  {
+    return false;
+  }
+
+  public boolean canDetermineObscurity()
+  {
+    return false;
+  }
+
+  public void coalescePaintEvent(PaintEvent e) { }
+
+  public void updateCursorImmediately() { }
+
+  public VolatileImage createVolatileImage(int width, int height) 
+  { 
+    return null; 
+  }
+
+  public boolean handlesWheelScrolling()
+  {
+    return false;
+  }
+
+  public void createBuffers(int x, BufferCapabilities capabilities) 
+    throws AWTException { }
+
+  public Image getBackBuffer()
+  {
+    return null;
+  }
+
+  public void flip(BufferCapabilities.FlipContents contents) { }
+
+  public void destroyBuffers() { }
+}
index 1a38831cb1907df7b8375e11d5805cffe27647c3..70902622733ecbdade74706a4f064e296038bbac 100644 (file)
@@ -125,6 +125,7 @@ STRIP = @STRIP@
 SYSDEP_SOURCES = @SYSDEP_SOURCES@
 SYSTEMSPEC = @SYSTEMSPEC@
 SYS_ZLIBS = @SYS_ZLIBS@
+THREADCXXFLAGS = @THREADCXXFLAGS@
 THREADDEPS = @THREADDEPS@
 THREADINCS = @THREADINCS@
 THREADLDFLAGS = @THREADLDFLAGS@
index 9a38919f1c574ebb48b1aaf6330f41618701c5e1..98511ef7c6e0b4a4b2ed0fe44452992f6aaf3bc1 100644 (file)
@@ -677,6 +677,7 @@ public abstract class Component
         if (tk != null)
           return tk;
       }
+    // Get toolkit for lightweight component.
     if (parent != null)
       return parent.getToolkit();
     return Toolkit.getDefaultToolkit();
index 6fd1413895b575ecf9264f0111e427ecb22e6826..f8cc6bffa2c8cf101c3e5c50e64214db7b332717 100644 (file)
@@ -342,15 +342,13 @@ public abstract class Toolkit
    * with its own native window.  Instead, this method allows the component
    * to draw on its parent window as a "lightweight" widget.
    *
-   * XXX: FIXME
-   *
    * @param target The <code>Component</code> to create the peer for.
    *
    * @return The peer for the specified <code>Component</code> object.
    */
   protected LightweightPeer createComponent(Component target)
   {
-    return null;
+    return new gnu.java.awt.peer.GLightweightPeer (target);
   }
 
   /**
index 091051224b90b3640e66ae421327a8cb9de2193a..a45ec55ddb27703de6ee5e76e173810de47c278a 100644 (file)
@@ -125,6 +125,7 @@ STRIP = @STRIP@
 SYSDEP_SOURCES = @SYSDEP_SOURCES@
 SYSTEMSPEC = @SYSTEMSPEC@
 SYS_ZLIBS = @SYS_ZLIBS@
+THREADCXXFLAGS = @THREADCXXFLAGS@
 THREADDEPS = @THREADDEPS@
 THREADINCS = @THREADINCS@
 THREADLDFLAGS = @THREADLDFLAGS@