diff options
| author | Matthias Klose <doko@gcc.gnu.org> | 2008-06-28 13:29:13 +0000 |
|---|---|---|
| committer | Matthias Klose <doko@gcc.gnu.org> | 2008-06-28 13:29:13 +0000 |
| commit | e0441a5bfb29083a532307ba2b1fd6d6d13944ba (patch) | |
| tree | 602cd7aa7c947386134690d8e0f6b53abcdeacb9 /libjava/classpath/gnu/java/awt/peer/x/XToolkit.java | |
| parent | 15c151967dd1cde61b79d26374f608f63a29d411 (diff) | |
Import GNU Classpath (classpath-0_97_2-release).
libjava/
2008-06-28 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (classpath-0_97_2-release).
* Regenerate class and header files.
* Regenerate auto* files.
* gcj/javaprims.h: Define jobjectRefType.
* jni.cc (_Jv_JNI_GetObjectRefType): New (stub only).
(_Jv_JNIFunctions): Initialize GetObjectRefType.
* gnu/classpath/jdwp/VMVirtualMachine.java,
java/security/VMSecureRandom.java: Merge from classpath.
* HACKING: Fix typo.
* ChangeLog-2007: New file.
* configure.ac: Set JAVAC, pass --disable-regen-headers to classpath.
libjava/classpath/
2008-06-28 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_javac.m4: Disable check for JAVAC, when
not configured with --enable-java-maintainer-mode.
* aclocal.m4, configure: Regenerate.
* native/jni/gstreamer-peer/Makefile.am: Do not link with
libclasspathnative.
* native/jni/gstreamer-peer/Makefile.in: Regenerate.
* tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting
JCOMPILER, drop flags not understood by gcj.
From-SVN: r137223
Diffstat (limited to 'libjava/classpath/gnu/java/awt/peer/x/XToolkit.java')
| -rw-r--r-- | libjava/classpath/gnu/java/awt/peer/x/XToolkit.java | 69 |
1 files changed, 45 insertions, 24 deletions
diff --git a/libjava/classpath/gnu/java/awt/peer/x/XToolkit.java b/libjava/classpath/gnu/java/awt/peer/x/XToolkit.java index 08186326ffa..c1724aad55d 100644 --- a/libjava/classpath/gnu/java/awt/peer/x/XToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/x/XToolkit.java @@ -51,6 +51,7 @@ import java.awt.FileDialog; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Frame; +import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Image; @@ -117,6 +118,8 @@ import javax.imageio.ImageIO; import gnu.classpath.SystemProperties; import gnu.java.awt.ClasspathToolkit; import gnu.java.awt.EmbeddedWindow; +import gnu.java.awt.font.OpenTypeFontPeer; +import gnu.java.awt.image.ImageConverter; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; import gnu.java.awt.peer.swing.SwingCanvasPeer; @@ -155,7 +158,8 @@ public class XToolkit /** * The cached fonts. */ - private WeakHashMap fontCache = new WeakHashMap(); + private WeakHashMap<String,ClasspathFontPeer> fontCache = + new WeakHashMap<String,ClasspathFontPeer>(); public XToolkit() { @@ -179,21 +183,32 @@ public class XToolkit */ public ClasspathFontPeer getClasspathFontPeer(String name, Map attrs) { - String canonical = XFontPeer2.encodeFont(name, attrs); ClasspathFontPeer font; - if (!fontCache.containsKey(canonical)) + if ("true".equals(System.getProperty("escherpeer.usexfonts"))) { - String graphics2d = - SystemProperties.getProperty("gnu.xawt.graphics2d"); - //if (graphics2d != null && graphics2d.equals("gl")) - font = new XFontPeer2(name, attrs); -// else -// font = new XFontPeer(name, attrs); - fontCache.put(canonical, font); + String canonical = XFontPeer.encodeFont(name, attrs); + if (!fontCache.containsKey(canonical)) + { + font = new XFontPeer(name, attrs); + fontCache.put(canonical, font); + } + else + { + font = fontCache.get(canonical); + } } else { - font = (ClasspathFontPeer) fontCache.get(canonical); + String canonical = OpenTypeFontPeer.encodeFont(name, attrs); + if (!fontCache.containsKey(canonical)) + { + font = new OpenTypeFontPeer(name, attrs); + fontCache.put(canonical, font); + } + else + { + font = fontCache.get(canonical); + } } return font; } @@ -338,14 +353,22 @@ public class XToolkit public Dimension getScreenSize() { - // FIXME: This is only a hack to get some apps working. - return new Dimension(1024, 768); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + XGraphicsConfiguration xgc = (XGraphicsConfiguration) gc; + + return xgc.getSize(); } public int getScreenResolution() { - // TODO: Implement this. - throw new UnsupportedOperationException("Not yet implemented."); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + XGraphicsConfiguration xgc = (XGraphicsConfiguration) gc; + + return xgc.getResolution(); } /** @@ -363,8 +386,8 @@ public class XToolkit public String[] getFontList() { - // TODO: Implement this. - throw new UnsupportedOperationException("Not yet implemented."); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + return ge.getAvailableFontFamilyNames(); } public FontMetrics getFontMetrics(Font name) @@ -505,7 +528,7 @@ public class XToolkit { ImageConverter conv = new ImageConverter(); producer.startProduction(conv); - Image image = conv.getXImage(); + Image image = conv.getImage(); return image; } @@ -602,19 +625,17 @@ public class XToolkit } @Override - public boolean isModalExclusionTypeSupported - (Dialog.ModalExclusionType modalExclusionType) + public boolean isModalExclusionTypeSupported(ModalExclusionType modalExclusionType) { - // TODO: Implement properly. + // TODO Auto-generated method stub return false; } @Override - public boolean isModalityTypeSupported(Dialog.ModalityType modalityType) + public boolean isModalityTypeSupported(ModalityType modalityType) { - // TODO: Implement properly. + // TODO Auto-generated method stub return false; } - } |
