Index: gnu/java/awt/peer/gtk/GdkFontMetrics.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java,v retrieving revision 1.10 diff -u -r1.10 GdkFontMetrics.java --- gnu/java/awt/peer/gtk/GdkFontMetrics.java 8 Oct 2004 21:41:41 -0000 1.10 +++ gnu/java/awt/peer/gtk/GdkFontMetrics.java 8 Oct 2004 22:48:48 -0000 @@ -1,5 +1,5 @@ /* GdkFontMetrics.java - Copyright (C) 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,15 +38,15 @@ package gnu.java.awt.peer.gtk; -import java.awt.*; -import java.awt.font.*; -import java.awt.geom.*; - import gnu.java.awt.ClasspathToolkit; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Toolkit; + public class GdkFontMetrics extends FontMetrics { - + private int[] font_metrics; GdkFontPeer peer; @@ -67,7 +67,7 @@ static native void getPeerTextMetrics(GdkFontPeer peer, String str, double [] metrics); public GdkFontMetrics (Font font) - { + { super (font.getPeer() instanceof GdkFontPeer ? font : ((ClasspathToolkit)(Toolkit.getDefaultToolkit ())) @@ -86,7 +86,7 @@ for (int i = 0; i < 5; ++i) font_metrics[i] = (int) hires[i]; } - + public int stringWidth (String str) { double [] hires = new double[6]; Index: gnu/java/awt/peer/gtk/GdkGraphics.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphics.java,v retrieving revision 1.32 diff -u -r1.32 GdkGraphics.java --- gnu/java/awt/peer/gtk/GdkGraphics.java 8 Oct 2004 22:16:09 -0000 1.32 +++ gnu/java/awt/peer/gtk/GdkGraphics.java 8 Oct 2004 22:48:48 -0000 @@ -326,7 +326,7 @@ { drawString(getFontPeer(), str, x, y); } - + public void drawString (AttributedCharacterIterator ci, int x, int y) { @@ -446,7 +446,7 @@ color.getGreen () ^ xorColor.getGreen (), color.getBlue () ^ xorColor.getBlue ()); } - + public void setFont (Font font) { this.font = font; Index: gnu/java/awt/peer/gtk/GdkGraphics2D.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphics2D.java,v retrieving revision 1.19 diff -u -r1.19 GdkGraphics2D.java --- gnu/java/awt/peer/gtk/GdkGraphics2D.java 8 Oct 2004 22:16:09 -0000 1.19 +++ gnu/java/awt/peer/gtk/GdkGraphics2D.java 8 Oct 2004 22:48:48 -0000 @@ -464,6 +464,7 @@ private final void updateImagePixels (int[] pixels) { + // This function can only be used if // this graphics object is used to draw into // buffered image @@ -495,10 +496,11 @@ } } + private final boolean drawImage(Image img, - AffineTransform xform, - Color bgcolor, - ImageObserver obs) + AffineTransform xform, + Color bgcolor, + ImageObserver obs) { if (img instanceof GtkOffScreenImage && img.getGraphics () instanceof GdkGraphics2D && @@ -518,6 +520,7 @@ } else { + // In this case, xform is an AffineTransform that transforms bounding // box of the specified image from image space to user space. However // when we pass this transform to cairo, cairo will use this transform @@ -530,17 +533,17 @@ try { - invertedXform = xform.createInverse(); + invertedXform = xform.createInverse(); if (img instanceof BufferedImage) { // draw an image which has actually been loaded // into memory fully - BufferedImage b = (BufferedImage) img; - return drawRaster (b.getColorModel (), - b.getData (), - invertedXform, - bgcolor); + BufferedImage b = (BufferedImage) img; + return drawRaster (b.getColorModel (), + b.getData (), + invertedXform, + bgcolor); } else { @@ -572,7 +575,7 @@ } cairoNewPath (); - + if (s instanceof Rectangle2D) { Rectangle2D r = (Rectangle2D)s; @@ -845,23 +848,23 @@ return clip.getBounds (); } - protected Rectangle2D getClipInDevSpace () - { - Rectangle2D uclip = clip.getBounds2D (); - if (transform == null) - return uclip; - else - { - Point2D pos = transform.transform (new Point2D.Double(uclip.getX (), - uclip.getY ()), - (Point2D)null); - Point2D extent = transform.deltaTransform (new Point2D.Double(uclip.getWidth (), - uclip.getHeight ()), - (Point2D)null); - return new Rectangle2D.Double (pos.getX (), pos.getY (), - extent.getX (), extent.getY ()); - } - } + protected Rectangle2D getClipInDevSpace () + { + Rectangle2D uclip = clip.getBounds2D (); + if (transform == null) + return uclip; + else + { + Point2D pos = transform.transform (new Point2D.Double(uclip.getX (), + uclip.getY ()), + (Point2D)null); + Point2D extent = transform.deltaTransform (new Point2D.Double(uclip.getWidth (), + uclip.getHeight ()), + (Point2D)null); + return new Rectangle2D.Double (pos.getX (), pos.getY (), + extent.getX (), extent.getY ()); + } + } public void setClip (int x, int y, int width, int height) { @@ -952,7 +955,7 @@ } private final void doPolygon(int[] xPoints, int[] yPoints, int nPoints, - boolean close, boolean fill) + boolean close, boolean fill) { if (nPoints < 1) return; @@ -1008,8 +1011,8 @@ } private final boolean drawRaster (ColorModel cm, Raster r, - AffineTransform imageToUser, - Color bgcolor) + AffineTransform imageToUser, + Color bgcolor) { if (r == null) return false; @@ -1170,7 +1173,7 @@ else if (hintValue.equals(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)) cairoSurfaceSetFilter(4); - } + } shiftDrawCalls = hints.containsValue (RenderingHints.VALUE_STROKE_NORMALIZE) || hints.containsValue (RenderingHints.VALUE_STROKE_DEFAULT); @@ -1489,9 +1492,9 @@ else font = ((ClasspathToolkit)(Toolkit.getDefaultToolkit ())) - .getFont (f.getName(), f.getAttributes ()); + .getFont (f.getName(), f.getAttributes ()); } - + public String toString() { return getClass ().getName () + Index: gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,v retrieving revision 1.2 diff -u -r1.2 GdkGraphicsEnvironment.java --- gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java 2 Oct 2004 07:53:47 -0000 1.2 +++ gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java 8 Oct 2004 22:48:48 -0000 @@ -51,7 +51,7 @@ { public GdkGraphicsEnvironment () { - super(); + super(); } public GraphicsDevice[] getScreenDevices () Index: gnu/java/awt/peer/gtk/GtkToolkit.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java,v retrieving revision 1.56 diff -u -r1.56 GtkToolkit.java --- gnu/java/awt/peer/gtk/GtkToolkit.java 8 Oct 2004 21:41:41 -0000 1.56 +++ gnu/java/awt/peer/gtk/GtkToolkit.java 8 Oct 2004 22:48:48 -0000 @@ -576,12 +576,12 @@ ClasspathFontPeer newPeer = new GdkFontPeer (name, attrs); fontCache.put (keyMap, newPeer); return newPeer; - } - } - + } + } + public ClasspathTextLayoutPeer getClasspathTextLayoutPeer (AttributedString str, FontRenderContext frc) - { + { return new GdkTextLayout(str, frc); } Index: java/awt/font/TextLayout.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/awt/font/TextLayout.java,v retrieving revision 1.4 diff -u -r1.4 TextLayout.java --- java/awt/font/TextLayout.java 8 Oct 2004 21:41:41 -0000 1.4 +++ java/awt/font/TextLayout.java 8 Oct 2004 22:48:48 -0000 @@ -90,7 +90,7 @@ peer = tk.getClasspathTextLayoutPeer(as, frc); } - public TextLayout (String string, Map attributes, FontRenderContext frc) + public TextLayout (String string, Map attributes, FontRenderContext frc) { AttributedString as = new AttributedString (string, attributes); ClasspathToolkit tk = (ClasspathToolkit)(Toolkit.getDefaultToolkit ()); Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,v retrieving revision 1.10 diff -u -r1.10 gnu_java_awt_peer_gtk_GdkFontMetrics.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c 8 Oct 2004 21:41:41 -0000 1.10 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c 8 Oct 2004 22:48:48 -0000 @@ -48,7 +48,7 @@ jdouble *native_metrics = NULL; PangoFontMetrics *pango_metrics; - gdk_threads_enter (); + gdk_threads_enter(); pfont = (struct peerfont *) NSA_GET_FONT_PTR (env, java_font); g_assert (pfont != NULL); @@ -66,12 +66,12 @@ native_metrics[FONT_METRICS_DESCENT] = - native_metrics[FONT_METRICS_DESCENT]; native_metrics[FONT_METRICS_MAX_DESCENT] = native_metrics[FONT_METRICS_DESCENT]; native_metrics[FONT_METRICS_MAX_ADVANCE] = PANGO_PIXELS (pango_font_metrics_get_approximate_char_width (pango_metrics)); - + (*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); pango_font_metrics_unref (pango_metrics); - gdk_threads_leave (); + gdk_threads_leave(); } JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontMetrics_getPeerTextMetrics @@ -82,7 +82,7 @@ jdouble *native_metrics = NULL; PangoRectangle log; - gdk_threads_enter (); + gdk_threads_enter(); pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, java_font); g_assert (pfont != NULL); @@ -105,9 +105,9 @@ native_metrics[TEXT_METRICS_HEIGHT] = PANGO_PIXELS(log.height); native_metrics[TEXT_METRICS_X_ADVANCE] = PANGO_PIXELS(log.x + log.width); native_metrics[TEXT_METRICS_Y_ADVANCE] = PANGO_PIXELS(log.y + log.height); - + (*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); - gdk_threads_leave (); + gdk_threads_leave(); } Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,v retrieving revision 1.15 diff -u -r1.15 gnu_java_awt_peer_gtk_GdkGraphics2D.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c 8 Oct 2004 22:16:09 -0000 1.15 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c 8 Oct 2004 22:48:49 -0000 @@ -791,7 +791,7 @@ width, height); native_pixels= gdk_pixbuf_get_pixels (buf); - + #ifndef WORDS_BIGENDIAN /* convert pixels from 0xBBGGRRAA to 0xAARRGGBB */ for (i=0; i NewIntArray (env, width * height); (*env)->SetIntArrayRegion(env, java_pixels, @@ -1096,13 +1097,13 @@ g_assert(font != NULL); g_assert(str != NULL); - gdk_threads_enter(); + gdk_threads_enter (); if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; } gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj); - g_assert (gr != NULL); + g_assert(gr != NULL); - pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, font); + pfont = (struct peerfont *) NSA_GET_FONT_PTR (env, font); g_assert (pfont != NULL); cstr = (*env)->GetStringUTFChars (env, str, NULL); @@ -1246,9 +1247,9 @@ g_free (glyphs); cairo_translate (gr->cr, -x, -y); - + pango_layout_iter_free (i); - gdk_threads_leave(); + gdk_threads_leave (); } JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoShowGlyphs @@ -1401,7 +1402,7 @@ gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj); g_assert (gr != NULL); - if (gr->debug) printf ("cairo_set_alpha %f\n", a); + if (gr->debug) printf ("cairo_set_alpha %f\n", a); cairo_set_alpha (gr->cr, a); gdk_threads_leave(); } Index: native/jni/gtk-peer/gtkpeer.h =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gtkpeer.h,v retrieving revision 1.25 diff -u -r1.25 gtkpeer.h --- native/jni/gtk-peer/gtkpeer.h 8 Oct 2004 22:27:35 -0000 1.25 +++ native/jni/gtk-peer/gtkpeer.h 8 Oct 2004 22:48:49 -0000 @@ -1,5 +1,5 @@ /* gtkpeer.h -- Some global variables and #defines - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -107,7 +107,7 @@ #endif /* JVM_SUN */ -#define SWAPU32(w) \ +#define SWAPU32(w) \ (((w) << 24) | (((w) & 0xff00) << 8) | (((w) >> 8) & 0xff00) | ((w) >> 24)) struct graphics