/[classpath]/classpath/gnu/java/awt/ClasspathToolkit.java
ViewVC logotype

Diff of /classpath/gnu/java/awt/ClasspathToolkit.java

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

revision 1.3.2.6 by gnu_andrew, Tue Aug 16 16:22:36 2005 UTC revision 1.3.2.7 by gnu_andrew, Sat Sep 10 15:31:36 2005 UTC
# Line 1  Line 1 
1  /* ClasspathToolkit.java -- Abstract superclass for Classpath toolkits.  /* ClasspathToolkit.java -- Abstract superclass for Classpath toolkits.
2     Copyright (C) 2003, 2004  Free Software Foundation, Inc.     Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 42  import gnu.java.awt.EmbeddedWindow; Line 42  import gnu.java.awt.EmbeddedWindow;
42  import gnu.java.awt.peer.ClasspathFontPeer;  import gnu.java.awt.peer.ClasspathFontPeer;
43  import gnu.java.awt.peer.EmbeddedWindowPeer;  import gnu.java.awt.peer.EmbeddedWindowPeer;
44  import gnu.java.awt.peer.ClasspathTextLayoutPeer;  import gnu.java.awt.peer.ClasspathTextLayoutPeer;
45    import gnu.java.security.action.SetAccessibleAction;
46    
47  import java.awt.AWTException;  import java.awt.AWTException;
48    import java.awt.Component;
49  import java.awt.Dimension;  import java.awt.Dimension;
50  import java.awt.DisplayMode;  import java.awt.DisplayMode;
 import java.awt.EventQueue;  
51  import java.awt.Font;  import java.awt.Font;
52  import java.awt.FontMetrics;  import java.awt.FontMetrics;
53  import java.awt.GraphicsDevice;  import java.awt.GraphicsDevice;
# Line 59  import java.awt.image.ImageProducer; Line 60  import java.awt.image.ImageProducer;
60  import java.awt.peer.RobotPeer;  import java.awt.peer.RobotPeer;
61  import java.io.File;  import java.io.File;
62  import java.io.InputStream;  import java.io.InputStream;
63    import java.lang.reflect.Constructor;
64    import java.lang.reflect.InvocationTargetException;
65  import java.net.MalformedURLException;  import java.net.MalformedURLException;
66  import java.net.URL;  import java.net.URL;
67  import java.text.AttributedString;  import java.text.AttributedString;
68  import java.util.HashMap;  import java.util.HashMap;
69  import java.util.Map;  import java.util.Map;
70    import java.security.AccessController;
71    
72  import javax.imageio.spi.IIORegistry;  import javax.imageio.spi.IIORegistry;
73    
# Line 130  public abstract class ClasspathToolkit Line 134  public abstract class ClasspathToolkit
134     */     */
135    public Font getFont (String name, Map attrs)    public Font getFont (String name, Map attrs)
136    {    {
137      return new Font (name, attrs);      Font f = null;
138    
139        // Circumvent the package-privateness of the
140        // java.awt.Font.Font(String,Map) constructor.
141        try
142          {
143            Constructor fontConstructor = Font.class.getDeclaredConstructor
144              (new Class[] { String.class, Map.class });
145            AccessController.doPrivileged
146              (new SetAccessibleAction(fontConstructor));
147            f = (Font) fontConstructor.newInstance(new Object[] { name, attrs });
148          }
149        catch (IllegalAccessException e)
150          {
151            throw new AssertionError(e);
152          }
153        catch (NoSuchMethodException e)
154          {
155            throw new AssertionError(e);
156          }
157        catch (InstantiationException e)
158          {
159            throw new AssertionError(e);
160          }
161        catch (InvocationTargetException e)
162          {
163            throw new AssertionError(e);
164          }
165        return f;
166    }    }
167    
168    /**    /**
# Line 172  public abstract class ClasspathToolkit Line 204  public abstract class ClasspathToolkit
204     */     */
205    public abstract EmbeddedWindowPeer createEmbeddedWindow (EmbeddedWindow w);    public abstract EmbeddedWindowPeer createEmbeddedWindow (EmbeddedWindow w);
206    
207    public abstract boolean nativeQueueEmpty();    /**
208    public abstract void wakeNativeQueue();       * Used to register ImageIO SPIs provided by the toolkit.
209    public abstract void iterateNativeQueue(EventQueue locked, boolean block);     */
210       public void registerImageIOSpis(IIORegistry reg)
211       {
212       }
213  }  }
   

Legend:
Removed from v.1.3.2.6  
changed lines
  Added in v.1.3.2.7

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