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/12/07 14:33:28 UTC
svn commit: r602097 -
/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java
Author: apetrenko
Date: Fri Dec 7 05:33:27 2007
New Revision: 602097
URL: http://svn.apache.org/viewvc?rev=602097&view=rev
Log:
Patch for HARMONY-5271 "[classlib][awt] Graphics drawArc & drawOval
methods work incorretly in XORMode"
Modified:
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java?rev=602097&r1=602096&r2=602097&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/unix/org/apache/harmony/awt/gl/linux/XGraphics2D.java Fri Dec 7 05:33:27 2007
@@ -539,8 +539,8 @@
public void drawArc(int x, int y, int width, int height, int sa, int ea) {
if (
nativeLines && nativePaint &&
- !transparentColor && simpleComposite &&
- (transform.getType() & AffineTransform.TYPE_TRANSLATION) != 0
+ !scalingTransform && !transparentColor &&
+ simpleComposite
) {
Point2D orig = new Point2D.Float(x, y);
transform.transform(orig, orig);
@@ -552,6 +552,21 @@
width, height,
sa << 6, ea << 6
);
+
+ if (composite instanceof XORComposite) {
+ XORComposite xor = (XORComposite)composite;
+ Color xorcolor = xor.getXORColor();
+ xSetForeground(xorcolor.getRGB());
+ x11.XDrawArc(
+ display,
+ drawable,
+ gc,
+ (int) orig.getX(), (int) orig.getY(),
+ width, height,
+ sa << 6, ea << 6
+ );
+ xSetForeground(fgColor.getRGB());
+ }
} else {
super.drawArc(x, y, width, height, sa, ea);
}