diff options
| author | graydon <graydon@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-12 19:11:00 +0000 |
|---|---|---|
| committer | graydon <graydon@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-12 19:11:00 +0000 |
| commit | 540ad45d071c467e20e4bf2cb363c911979d91eb (patch) | |
| tree | 1170d716c4d9e7e8b1209d3d0ba58a480c5551b9 /libjava/gnu/java/awt/peer | |
| parent | c6ad6818e9c0b562e6bb23b973d1e2b1873e1dc8 (diff) | |
| download | ppe42-gcc-540ad45d071c467e20e4bf2cb363c911979d91eb.tar.gz ppe42-gcc-540ad45d071c467e20e4bf2cb363c911979d91eb.zip | |
2004-01-08 Graydon Hoare <graydon@redhat.com>
* javax/swing/JLayeredPane.java: Rewrite to accomodate
djee@redhat.com's recent inverse ordering of Container elements.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75745 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/awt/peer')
| -rw-r--r-- | libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java | 82 |
1 files changed, 7 insertions, 75 deletions
diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java b/libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java index 036e40f972d..cb6ccba61b4 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java +++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java @@ -66,7 +66,9 @@ public class GdkGraphics2D extends Graphics2D { System.loadLibrary("gtkpeer"); } - initStaticState (); + + if (GtkToolkit.useGraphics2D ()) + initStaticState (); } native static void initStaticState (); private final int native_state = GtkGenericPeer.getUniqueInteger(); @@ -125,7 +127,7 @@ public class GdkGraphics2D extends Graphics2D clip = new Rectangle (g.getClipBounds ()); if (g.transform == null) - transform = AffineTransform.getTranslateInstance (0.5, 0.5); + transform = new AffineTransform (); else transform = new AffineTransform (g.transform); @@ -150,7 +152,7 @@ public class GdkGraphics2D extends Graphics2D setBackground (Color.black); setPaint (getColor()); setFont (new Font("SansSerif", Font.PLAIN, 12)); - setTransform (AffineTransform.getTranslateInstance (0.5, 0.5)); + setTransform (new AffineTransform ()); setStroke (new BasicStroke ()); stateStack = new Stack(); @@ -165,7 +167,7 @@ public class GdkGraphics2D extends Graphics2D setBackground (new Color (rgb[3], rgb[4], rgb[5])); setPaint (getColor()); setFont (new Font("SansSerif", Font.PLAIN, 12)); - setTransform (AffineTransform.getTranslateInstance (0.5, 0.5)); + setTransform (new AffineTransform ()); setStroke (new BasicStroke ()); stateStack = new Stack (); @@ -546,7 +548,7 @@ public class GdkGraphics2D extends Graphics2D public void setXORMode (Color c) { - setComposite (new BitwiseXorComposite (c)); + setComposite (new gnu.java.awt.BitwiseXORComposite(c)); } public void setColor (Color c) @@ -978,76 +980,6 @@ public class GdkGraphics2D extends Graphics2D } - private class BitwiseXorComposite implements Composite - { - // this is a special class which does a bitwise XOR composite, for - // backwards compatibility sake. it does *not* implement the - // porter-duff XOR operator. the porter-duff XOR is unrelated to - // bitwise XOR; it just happens to have a similar name but it - // represents a desire to composite the exclusive or of overlapping - // subpixel regions. bitwise XOR is for drawing "highlights" such as - // cursors (in a cheap oldskool bitblit fashion) by inverting colors - // temporarily and then inverting them back. - - Color xorColor; - - class BitwiseXorCompositeContext implements CompositeContext - { - ColorModel srcColorModel; - ColorModel dstColorModel; - - public BitwiseXorCompositeContext (ColorModel s, - ColorModel d) - { - srcColorModel = s; - dstColorModel = d; - } - - public void dispose () - { - } - - public void compose (Raster src, - Raster dstIn, - WritableRaster dstOut) - { - Rectangle srcRect = src.getBounds (); - Rectangle dstInRect = dstIn.getBounds (); - Rectangle dstOutRect = dstOut.getBounds (); - - int xp = xorColor.getRGB (); - int x = 0, y = 0; - int w = Math.min (Math.min (srcRect.width, dstOutRect.width), dstInRect.width); - int h = Math.min (Math.min (srcRect.height, dstOutRect.height), dstInRect.height); - Object srcPix = null, dstPix = null; - - for (y = 0; y < h; y++) - for (x = 0; x < w; x++) - { - srcPix = src.getDataElements (x + srcRect.x, y + srcRect.y, srcPix); - dstPix = dstIn.getDataElements (x + dstInRect.x, y + dstInRect.y, dstPix); - int sp = srcColorModel.getRGB (srcPix); - int dp = dstColorModel.getRGB (dstPix); - int rp = sp ^ xp ^ dp; - dstOut.setDataElements (x + dstOutRect.x, y + dstOutRect.y, - dstColorModel.getDataElements (rp, null)); - } - } - } - - public BitwiseXorComposite (Color c) - { - xorColor = c; - } - - public CompositeContext createContext (ColorModel srcColorModel, - ColorModel dstColorModel, - RenderingHints hints) - { - return new BitwiseXorCompositeContext (srcColorModel, dstColorModel); - } - } - /////////////////////////////////////////////// ////// Unimplemented Stubs and Overloads ////// |

