OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 1442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1453 EBorderStyle outlineStyle = styleToUse->outlineStyle(); | 1453 EBorderStyle outlineStyle = styleToUse->outlineStyle(); |
1454 | 1454 |
1455 bool antialias = shouldAntialiasLines(graphicsContext); | 1455 bool antialias = shouldAntialiasLines(graphicsContext); |
1456 | 1456 |
1457 int offset = style()->outlineOffset(); | 1457 int offset = style()->outlineOffset(); |
1458 | 1458 |
1459 LayoutRect box(LayoutPoint(paintOffset.x() + thisline.x() - offset, paintOff
set.y() + thisline.y() - offset), | 1459 LayoutRect box(LayoutPoint(paintOffset.x() + thisline.x() - offset, paintOff
set.y() + thisline.y() - offset), |
1460 LayoutSize(thisline.width() + offset, thisline.height() + offset)); | 1460 LayoutSize(thisline.width() + offset, thisline.height() + offset)); |
1461 | 1461 |
1462 IntRect pixelSnappedBox = pixelSnappedIntRect(box); | 1462 IntRect pixelSnappedBox = pixelSnappedIntRect(box); |
| 1463 if (pixelSnappedBox.width() < 0 || pixelSnappedBox.height() < 0) |
| 1464 return; |
1463 IntRect pixelSnappedLastLine = pixelSnappedIntRect(paintOffset.x() + lastlin
e.x(), 0, lastline.width(), 0); | 1465 IntRect pixelSnappedLastLine = pixelSnappedIntRect(paintOffset.x() + lastlin
e.x(), 0, lastline.width(), 0); |
1464 IntRect pixelSnappedNextLine = pixelSnappedIntRect(paintOffset.x() + nextlin
e.x(), 0, nextline.width(), 0); | 1466 IntRect pixelSnappedNextLine = pixelSnappedIntRect(paintOffset.x() + nextlin
e.x(), 0, nextline.width(), 0); |
1465 | 1467 |
1466 // left edge | 1468 // left edge |
1467 drawLineForBoxSide(graphicsContext, | 1469 drawLineForBoxSide(graphicsContext, |
1468 pixelSnappedBox.x() - outlineWidth, | 1470 pixelSnappedBox.x() - outlineWidth, |
1469 pixelSnappedBox.y() - (lastline.isEmpty() || thisline.x() < lastline.x()
|| (lastline.maxX() - 1) <= thisline.x() ? outlineWidth : 0), | 1471 pixelSnappedBox.y() - (lastline.isEmpty() || thisline.x() < lastline.x()
|| (lastline.maxX() - 1) <= thisline.x() ? outlineWidth : 0), |
1470 pixelSnappedBox.x(), | 1472 pixelSnappedBox.x(), |
1471 pixelSnappedBox.maxY() + (nextline.isEmpty() || thisline.x() <= nextline
.x() || (nextline.maxX() - 1) <= thisline.x() ? outlineWidth : 0), | 1473 pixelSnappedBox.maxY() + (nextline.isEmpty() || thisline.x() <= nextline
.x() || (nextline.maxX() - 1) <= thisline.x() ? outlineWidth : 0), |
1472 BSLeft, | 1474 BSLeft, |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1571 container = this; | 1573 container = this; |
1572 | 1574 |
1573 FloatPoint absPos = container->localToAbsolute(); | 1575 FloatPoint absPos = container->localToAbsolute(); |
1574 region.bounds.setX(absPos.x() + region.bounds.x()); | 1576 region.bounds.setX(absPos.x() + region.bounds.x()); |
1575 region.bounds.setY(absPos.y() + region.bounds.y()); | 1577 region.bounds.setY(absPos.y() + region.bounds.y()); |
1576 | 1578 |
1577 regions.append(region); | 1579 regions.append(region); |
1578 } | 1580 } |
1579 | 1581 |
1580 } // namespace WebCore | 1582 } // namespace WebCore |
OLD | NEW |