commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-cp] classpath ChangeLog gnu/java/awt/java2d/Abstrac...


From: Roman Kennke
Subject: [commit-cp] classpath ChangeLog gnu/java/awt/java2d/Abstrac...
Date: Fri, 09 Jun 2006 20:49:51 +0000

CVSROOT:        /cvsroot/classpath
Module name:    classpath
Changes by:     Roman Kennke <rabbit78> 06/06/09 20:49:51

Modified files:
        .              : ChangeLog 
        gnu/java/awt/java2d: AbstractGraphics2D.java PolyEdge.java 

Log message:
        2006-06-09  Roman Kennke  <address@hidden>
        
                * gnu/java/awt/java2d/AbstractGraphics2D.java
                (drawImage): Fixed scaling.
                (fillShape): Removed offset handling.
                (fillShapeImpl): Limit scanlining to device bounds.
                (getSegments): Removed offset handling.
                * gnu/java/awt/java2d/PolyEdge.java
                (toString): Include isClip flag in output.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7746&r2=1.7747
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java?cvsroot=classpath&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/java2d/PolyEdge.java?cvsroot=classpath&r1=1.2&r2=1.3

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/classpath/classpath/ChangeLog,v
retrieving revision 1.7746
retrieving revision 1.7747
diff -u -b -r1.7746 -r1.7747
--- ChangeLog   9 Jun 2006 20:48:01 -0000       1.7746
+++ ChangeLog   9 Jun 2006 20:49:50 -0000       1.7747
@@ -1,4 +1,14 @@
-2006-06-08  Sven de Marothy  <address@hidden>
+2006-06-09  Roman Kennke  <address@hidden>
+
+       * gnu/java/awt/java2d/AbstractGraphics2D.java
+       (drawImage): Fixed scaling.
+       (fillShape): Removed offset handling.
+       (fillShapeImpl): Limit scanlining to device bounds.
+       (getSegments): Removed offset handling.
+       * gnu/java/awt/java2d/PolyEdge.java
+       (toString): Include isClip flag in output.
+
+2006-06-09  Sven de Marothy  <address@hidden>
 
        * java/awt/font/TextLayout.java
        (getOutline): Allow null transform.
@@ -56,7 +66,7 @@
        (struct _Jv_reent): _freelist now a _Jv_Bigint**.  Removed
        _allocation_map, num.  Added _max_k.
 
-2006-06-08  Roman Kennke  <address@hidden>
+2006-06-09  Roman Kennke  <address@hidden>
 
        * gnu/java/awt/peer/gtk/CairoGraphics2D.java
        (drawGlyphVector): Added fallback for non-FreetypeGlyphVector

Index: gnu/java/awt/java2d/AbstractGraphics2D.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gnu/java/awt/java2d/AbstractGraphics2D.java 19 May 2006 22:23:01 -0000      
1.8
+++ gnu/java/awt/java2d/AbstractGraphics2D.java 9 Jun 2006 20:49:51 -0000       
1.9
@@ -1331,8 +1331,8 @@
   {
     AffineTransform t = new AffineTransform();
     t.translate(x, y);
-    double scaleX = (double) image.getWidth(observer) / (double) width;
-    double scaleY = (double) image.getHeight(observer) / (double) height;
+    double scaleX = (double) width / (double) image.getWidth(observer);
+    double scaleY =  (double) height / (double) image.getHeight(observer);
     t.scale(scaleX, scaleY);
     return drawImage(image, t, observer);
   }
@@ -1473,15 +1473,11 @@
         antialias = (v == RenderingHints.VALUE_ANTIALIAS_ON);
       }
 
-    double offs = 0.5;
-    if (antialias)
-      offs = offs / AA_SAMPLING;
-
     Rectangle2D userBounds = s.getBounds2D();
     Rectangle2D deviceBounds = new Rectangle2D.Double();
-    ArrayList segs = getSegments(s, transform, deviceBounds, false, offs);
+    ArrayList segs = getSegments(s, transform, deviceBounds, false);
     Rectangle2D clipBounds = new Rectangle2D.Double();
-    ArrayList clipSegs = getSegments(clip, transform, clipBounds, true, offs);
+    ArrayList clipSegs = getSegments(clip, transform, clipBounds, true);
     segs.addAll(clipSegs);
     Rectangle2D inclClipBounds = new Rectangle2D.Double();
     Rectangle2D.union(clipBounds, deviceBounds, inclClipBounds);
@@ -1676,7 +1672,10 @@
 
     // Scan all relevant lines.
     int minYInt = (int) Math.ceil(icMinY);
-    for (int y = minYInt; y <= maxY; y++)
+
+    Rectangle devClip = getDeviceBounds();
+    int scanlineMax = (int) Math.min(maxY, devClip.getMaxY());
+    for (int y = minYInt; y < scanlineMax; y++)
       {
         ArrayList bucket = edgeTable[y - minYInt];
         // Update all the x intersections in the current activeEdges table
@@ -2169,8 +2168,7 @@
    * @return a list of PolyEdge that form the shape in device space
    */
   private ArrayList getSegments(Shape s, AffineTransform t,
-                                Rectangle2D deviceBounds, boolean isClip,
-                                double offs)
+                                Rectangle2D deviceBounds, boolean isClip)
   {
     // Flatten the path. TODO: Determine the best flattening factor
     // wrt to speed and quality.
@@ -2213,14 +2211,14 @@
         else if (segType == PathIterator.SEG_CLOSE)
           {
             // Close the polyline.
-            PolyEdge edge = new PolyEdge(segX, segY - offs,
-                                         polyX, polyY - offs, isClip);
+            PolyEdge edge = new PolyEdge(segX, segY,
+                                         polyX, polyY, isClip);
             segs.add(edge);
           }
         else if (segType == PathIterator.SEG_LINETO)
           {
-            PolyEdge edge = new PolyEdge(segX, segY - offs,
-                                         seg[0], seg[1] - offs, isClip);
+            PolyEdge edge = new PolyEdge(segX, segY,
+                                         seg[0], seg[1], isClip);
             segs.add(edge);
             segX = seg[0];
             segY = seg[1];

Index: gnu/java/awt/java2d/PolyEdge.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/java2d/PolyEdge.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gnu/java/awt/java2d/PolyEdge.java   8 May 2006 14:39:17 -0000       1.2
+++ gnu/java/awt/java2d/PolyEdge.java   9 Jun 2006 20:49:51 -0000       1.3
@@ -118,6 +118,7 @@
   public String toString()
   {
     return "Edge: " + x0 + ", " + y0 + ", " + x1 + ", " + y1 + ", slope: "
-           + slope + ", xIntersection: " + xIntersection;
+           + slope + ", xIntersection: " + xIntersection
+           + ", isClip: " + isClip;
   }
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]