Submitted by: Tobias Lidskog <tobiaslidskog@mac.com>
Reviewed by: eseidel
Test cases updated:
* svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.checks
um:
* svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
* svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
* svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:
* kcanvas/KCanvasCreator.cpp:
(KCanvasCreator::createRoundedRectangle): ignore 0 rects
(KCanvasCreator::createRectangle): ignore 0 rects
(KCanvasCreator::createEllipse): ignore empty elipses
(KCanvasCreator::createLine): ignore 0 lines
http://bugzilla.opendarwin.org/show_bug.cgi?id=4706
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@10374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
KCanvasContainer at (19,79) size 201x182 [transform={m=((1.000000,0.000000)(0.000000,1.000000)) t=(0.000000,60.000000)}] [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasItem {rect} at (19,79) size 201x2 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,20.00L220.00,20.00L220.00,21.00L20.00,21.00"]
KCanvasItem {rect} at (19,99) size 201x2 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,40.00L220.00,40.00L220.00,41.00L20.00,41.00"]
- KCanvasContainer at (19,120) size 1x1 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
- KCanvasItem {rect} at (19,120) size 1x1 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,60.00L20.00,60.00L20.00,61.00L20.00,61.00"]
- KCanvasContainer at (19,140) size 1x1 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
- KCanvasItem {rect} at (19,140) size 1x1 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,80.00L20.00,80.00L20.00,81.00L20.00,81.00"]
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasItem {rect} at (19,159) size 201x2 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,100.00L220.02,100.00L220.02,101.00L20.00,101.00"]
KCanvasItem {rect} at (19,179) size 91x2 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,120.00L110.00,120.00L110.00,121.00L20.00,121.00"]
KCanvasItem {rect} at (19,199) size 91x2 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M20.00,140.00L110.00,140.00L110.00,141.00L20.00,141.00"]
-3d466ae9b760f9f9c3f5cebb1de6c41f
\ No newline at end of file
+5cddf3fb8a7c62d5fd6e16b052557cbd
\ No newline at end of file
-KCanvasContainer at (1,10) size 2x100
- KCanvasContainer at (1,10) size 2x100 [stroke={server=UNIMPLEMENTED, stroke width=2.000000}] [fill={server=UNIMPLEMENTED}]
- KCanvasItem {rect} at (1,10) size 2x20 [stroke={server=UNIMPLEMENTED, stroke width=2.000000}] [fill={server=UNIMPLEMENTED}] [data="M2.00,10.00L2.00,10.00L2.00,30.00L2.00,30.00"]
- KCanvasItem {rect} at (1,50) size 2x20 [stroke={server=UNIMPLEMENTED, stroke width=2.000000}] [fill={server=UNIMPLEMENTED}] [data="M2.00,50.00L2.00,50.00L2.00,70.00L2.00,70.00"]
- KCanvasItem {rect} at (1,90) size 2x20 [stroke={server=UNIMPLEMENTED, stroke width=2.000000}] [fill={server=UNIMPLEMENTED}] [data="M2.00,90.00L2.00,90.00L2.00,110.00L2.00,110.00"]
+KCanvasContainer at (0,0) size 0x0
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED, stroke width=2.000000}] [fill={server=UNIMPLEMENTED}]
KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasContainer at (0,0) size 240x150 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasContainer at (0,0) size 240x150 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasItem at (0,0) size 240x150 [fill={server=UNIMPLEMENTED}] [data="M0.00,0.00L240.00,0.00L240.00,150.00L0.00,150.00"]
- KCanvasContainer at (2147483647,2147483647) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
- KCanvasContainer at (2147483647,2147483647) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
- KCanvasContainer at (2147483647,2147483647) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
- KCanvasContainer at (2147483647,2147483647) size 0x0 [transform={m=((1.000000,0.000000)(0.000000,1.000000)) t=(240.000000,0.000000)}]
- KCanvasItem {rect} at (2147483647,2147483647) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M0.00,0.00L0.00,0.00L0.00,0.00L0.00,0.00"]
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
+ KCanvasContainer at (0,0) size 0x0 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
+ KCanvasContainer at (0,0) size 0x0 [transform={m=((1.000000,0.000000)(0.000000,1.000000)) t=(240.000000,0.000000)}]
KCanvasContainer at (0,149) size 241x151 [transform={m=((1.000000,0.000000)(0.000000,1.000000)) t=(0.000000,150.000000)}]
KCanvasContainer at (0,149) size 241x151 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}]
KCanvasItem {rect} at (0,149) size 241x151 [stroke={server=UNIMPLEMENTED}] [fill={server=UNIMPLEMENTED}] [data="M0.00,0.00L240.00,0.00L240.00,150.00L0.00,150.00"]
+2005-08-28 Eric Seidel <eseidel@apple.com>
+ Fix by Tobias Lidskog <tobiaslidskog@mac.com>
+
+ Reviewed by eseidel.
+
+ Test cases updated:
+ * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.checksum:
+ * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
+ * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
+ * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:
+
+ * kcanvas/KCanvasCreator.cpp:
+ (KCanvasCreator::createRoundedRectangle): ignore 0 rects
+ (KCanvasCreator::createRectangle): ignore 0 rects
+ (KCanvasCreator::createEllipse): ignore empty elipses
+ (KCanvasCreator::createLine): ignore 0 lines
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=4706
+
2005-08-28 Eric Seidel <eseidel@apple.com>
Fix by Tobias Lidskog <tobiaslidskog@mac.com>
{
KCPathDataList list;
+ if (width <= 0.0f || height <= 0.0f)
+ return list;
+
double nrx = rx, nry = ry;
// If rx is greater than half of the width of the rectangle
// then set rx to half of the width (required in SVG spec)
KCPathDataList KCanvasCreator::createRectangle(float x, float y, float width, float height) const
{
KCPathDataList list;
+
+ if (width <= 0.0f || height <= 0.0f)
+ return list;
+
list.moveTo(x, y);
list.lineTo(x + width, y);
list.lineTo(x + width, y + height);
{
KCPathDataList list;
+ if (rx <= 0.0f || ry <= 0.0f)
+ return list;
+
// Ellipse creation - nice & clean agg2 code
double x = cx, y = cy;
KCPathDataList KCanvasCreator::createLine(float x1, float y1, float x2, float y2) const
{
KCPathDataList list;
+
+ if (x1 == x2 && y1 == y2)
+ return list;
+
list.moveTo(x1, y1);
list.lineTo(x2, y2);
return list;