You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2007/07/04 12:54:27 UTC
svn commit: r553164 - in
/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common:
java/awt/ToolkitImpl.java
org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
org/apache/harmony/awt/wtk/GraphicsFactory.java
Author: apetrenko
Date: Wed Jul 4 03:54:26 2007
New Revision: 553164
URL: http://svn.apache.org/viewvc?view=rev&rev=553164
Log:
Patch for HARMONY-3719 "Graphics.getFontMetrics() throws HeadlessExcetion if headless"
Modified:
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/ToolkitImpl.java
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/ToolkitImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/ToolkitImpl.java?view=diff&rev=553164&r1=553163&r2=553164
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/ToolkitImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/ToolkitImpl.java Wed Jul 4 03:54:26 2007
@@ -31,6 +31,7 @@
import java.util.Hashtable;
import java.util.Map;
import java.util.Properties;
+import org.apache.harmony.awt.gl.font.FontMetricsImpl;
import org.apache.harmony.awt.datatransfer.DTK;
import org.apache.harmony.awt.gl.*;
import org.apache.harmony.awt.gl.image.*;
@@ -38,6 +39,8 @@
class ToolkitImpl extends Toolkit {
static final Hashtable<Serializable, Image> imageCache = new Hashtable<Serializable, Image>();
+ static final FontMetrics cacheFM[] = new FontMetrics[10];
+
@Override
public void sync() {
lockAWT();
@@ -126,13 +129,37 @@
}
}
+ /**
+ * Returns FontMetrics object that keeps metrics of the specified font.
+ *
+ * @param font specified Font
+ * @return FontMetrics object corresponding to the specified Font object
+ */
@SuppressWarnings("deprecation")
@Override
@Deprecated
public FontMetrics getFontMetrics(Font font) {
lockAWT();
try {
- return getGraphicsFactory().getFontMetrics(font);
+ FontMetrics fm;
+ for (FontMetrics element : cacheFM) {
+ fm = element;
+ if (fm == null){
+ break;
+ }
+
+ if (fm.getFont().equals(font)){
+ return fm;
+ }
+ }
+ fm = new FontMetricsImpl(font);
+
+ System.arraycopy(cacheFM, 0, cacheFM, 1, cacheFM.length -1);
+ cacheFM[0] = fm;
+
+ return fm;
+
+// return getGraphicsFactory().getFontMetrics(font);
} finally {
unlockAWT();
}
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java?view=diff&rev=553164&r1=553163&r2=553164
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2DFactory.java Wed Jul 4 03:54:26 2007
@@ -24,7 +24,6 @@
import java.awt.FontMetrics;
import java.awt.peer.FontPeer;
-import org.apache.harmony.awt.gl.font.FontMetricsImpl;
import org.apache.harmony.awt.wtk.GraphicsFactory;
/**
@@ -36,33 +35,7 @@
// static instance of CommonGraphics2DFactory
public static CommonGraphics2DFactory inst;
- /**
- * Returns FontMetrics object that keeps metrics of the specified font.
- *
- * @param font specified Font
- * @return FontMetrics object corresponding to the specified Font object
- */
- public FontMetrics getFontMetrics(Font font) {
- FontMetrics fm;
- for (FontMetrics element : cacheFM) {
- fm = element;
- if (fm == null){
- break;
- }
-
- if (fm.getFont().equals(font)){
- return fm;
- }
- }
- fm = new FontMetricsImpl(font);
-
- System.arraycopy(cacheFM, 0, cacheFM, 1, cacheFM.length -1);
- cacheFM[0] = fm;
-
- return fm;
- }
// Font methods
-
public FontPeer getFontPeer(Font font) {
return getFontManager().getFontPeer(font.getName(), font.getStyle(), font.getSize());
}
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java?view=diff&rev=553164&r1=553163&r2=553164
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/wtk/GraphicsFactory.java Wed Jul 4 03:54:26 2007
@@ -34,7 +34,6 @@
* and font stuff instances factories.
*/
public interface GraphicsFactory {
- static final FontMetrics cacheFM[] = new FontMetrics[10];
/**
* This method creates Graphics2D instance for specified native window.
@@ -70,7 +69,6 @@
GraphicsEnvironment createGraphicsEnvironment(WindowFactory wf);
// Font methods
- FontMetrics getFontMetrics(Font font);
FontManager getFontManager();
FontPeer getFontPeer(Font font);
Font embedFont(String fontFilePath);