[Top][All Lists]
[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;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [commit-cp] classpath ChangeLog gnu/java/awt/java2d/Abstrac...,
Roman Kennke <=