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 1396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1407 | 1407 |
1408 rects.append(LayoutRect()); | 1408 rects.append(LayoutRect()); |
1409 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox())
{ | 1409 for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox())
{ |
1410 RootInlineBox* root = curr->root(); | 1410 RootInlineBox* root = curr->root(); |
1411 LayoutUnit top = max<LayoutUnit>(root->lineTop(), curr->logicalTop()); | 1411 LayoutUnit top = max<LayoutUnit>(root->lineTop(), curr->logicalTop()); |
1412 LayoutUnit bottom = min<LayoutUnit>(root->lineBottom(), curr->logicalBot
tom()); | 1412 LayoutUnit bottom = min<LayoutUnit>(root->lineBottom(), curr->logicalBot
tom()); |
1413 rects.append(LayoutRect(curr->x(), top, curr->logicalWidth(), bottom - t
op)); | 1413 rects.append(LayoutRect(curr->x(), top, curr->logicalWidth(), bottom - t
op)); |
1414 } | 1414 } |
1415 rects.append(LayoutRect()); | 1415 rects.append(LayoutRect()); |
1416 | 1416 |
1417 Color outlineColor = styleToUse->visitedDependentColor(CSSPropertyOutlineCol
or); | 1417 Color outlineColor = resolveColor(styleToUse, CSSPropertyOutlineColor); |
1418 bool useTransparencyLayer = outlineColor.hasAlpha(); | 1418 bool useTransparencyLayer = outlineColor.hasAlpha(); |
1419 if (useTransparencyLayer) { | 1419 if (useTransparencyLayer) { |
1420 graphicsContext->beginTransparencyLayer(static_cast<float>(outlineColor.
alpha()) / 255); | 1420 graphicsContext->beginTransparencyLayer(static_cast<float>(outlineColor.
alpha()) / 255); |
1421 outlineColor = Color(outlineColor.red(), outlineColor.green(), outlineCo
lor.blue()); | 1421 outlineColor = Color(outlineColor.red(), outlineColor.green(), outlineCo
lor.blue()); |
1422 } | 1422 } |
1423 | 1423 |
1424 for (unsigned i = 1; i < rects.size() - 1; i++) | 1424 for (unsigned i = 1; i < rects.size() - 1; i++) |
1425 paintOutlineForLine(graphicsContext, paintOffset, rects.at(i - 1), rects
.at(i), rects.at(i + 1), outlineColor); | 1425 paintOutlineForLine(graphicsContext, paintOffset, rects.at(i - 1), rects
.at(i), rects.at(i + 1), outlineColor); |
1426 | 1426 |
1427 if (useTransparencyLayer) | 1427 if (useTransparencyLayer) |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 container = this; | 1555 container = this; |
1556 | 1556 |
1557 FloatPoint absPos = container->localToAbsolute(); | 1557 FloatPoint absPos = container->localToAbsolute(); |
1558 region.bounds.setX(absPos.x() + region.bounds.x()); | 1558 region.bounds.setX(absPos.x() + region.bounds.x()); |
1559 region.bounds.setY(absPos.y() + region.bounds.y()); | 1559 region.bounds.setY(absPos.y() + region.bounds.y()); |
1560 | 1560 |
1561 regions.append(region); | 1561 regions.append(region); |
1562 } | 1562 } |
1563 | 1563 |
1564 } // namespace WebCore | 1564 } // namespace WebCore |
OLD | NEW |