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 |
|
|
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; |
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 |
|
|
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 |
/** |
/** |
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 |
} |
} |
|
|
|