| 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 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 } | 689 } |
| 690 | 690 |
| 691 static LayoutUnit computeMargin(const RenderInline* renderer, const Length& marg
in) | 691 static LayoutUnit computeMargin(const RenderInline* renderer, const Length& marg
in) |
| 692 { | 692 { |
| 693 if (margin.isAuto()) | 693 if (margin.isAuto()) |
| 694 return 0; | 694 return 0; |
| 695 if (margin.isFixed()) | 695 if (margin.isFixed()) |
| 696 return margin.value(); | 696 return margin.value(); |
| 697 if (margin.isPercent()) | 697 if (margin.isPercent()) |
| 698 return minimumValueForLength(margin, max<LayoutUnit>(0, renderer->contai
ningBlock()->availableLogicalWidth())); | 698 return minimumValueForLength(margin, max<LayoutUnit>(0, renderer->contai
ningBlock()->availableLogicalWidth())); |
| 699 if (margin.isViewportPercentage()) | |
| 700 return valueForLength(margin, 0, renderer->view()); | |
| 701 return 0; | 699 return 0; |
| 702 } | 700 } |
| 703 | 701 |
| 704 LayoutUnit RenderInline::marginLeft() const | 702 LayoutUnit RenderInline::marginLeft() const |
| 705 { | 703 { |
| 706 return computeMargin(this, style()->marginLeft()); | 704 return computeMargin(this, style()->marginLeft()); |
| 707 } | 705 } |
| 708 | 706 |
| 709 LayoutUnit RenderInline::marginRight() const | 707 LayoutUnit RenderInline::marginRight() const |
| 710 { | 708 { |
| (...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1283 InlineFlowBox* flowBox = createInlineFlowBox(); | 1281 InlineFlowBox* flowBox = createInlineFlowBox(); |
| 1284 m_lineBoxes.appendLineBox(flowBox); | 1282 m_lineBoxes.appendLineBox(flowBox); |
| 1285 return flowBox; | 1283 return flowBox; |
| 1286 } | 1284 } |
| 1287 | 1285 |
| 1288 LayoutUnit RenderInline::lineHeight(bool firstLine, LineDirectionMode /*directio
n*/, LinePositionMode /*linePositionMode*/) const | 1286 LayoutUnit RenderInline::lineHeight(bool firstLine, LineDirectionMode /*directio
n*/, LinePositionMode /*linePositionMode*/) const |
| 1289 { | 1287 { |
| 1290 if (firstLine && document().styleEngine()->usesFirstLineRules()) { | 1288 if (firstLine && document().styleEngine()->usesFirstLineRules()) { |
| 1291 RenderStyle* s = style(firstLine); | 1289 RenderStyle* s = style(firstLine); |
| 1292 if (s != style()) | 1290 if (s != style()) |
| 1293 return s->computedLineHeight(view()); | 1291 return s->computedLineHeight(); |
| 1294 } | 1292 } |
| 1295 | 1293 |
| 1296 return style()->computedLineHeight(view()); | 1294 return style()->computedLineHeight(); |
| 1297 } | 1295 } |
| 1298 | 1296 |
| 1299 int RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, Li
neDirectionMode direction, LinePositionMode linePositionMode) const | 1297 int RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, Li
neDirectionMode direction, LinePositionMode linePositionMode) const |
| 1300 { | 1298 { |
| 1301 ASSERT(linePositionMode == PositionOnContainingLine); | 1299 ASSERT(linePositionMode == PositionOnContainingLine); |
| 1302 const FontMetrics& fontMetrics = style(firstLine)->fontMetrics(); | 1300 const FontMetrics& fontMetrics = style(firstLine)->fontMetrics(); |
| 1303 return fontMetrics.ascent(baselineType) + (lineHeight(firstLine, direction,
linePositionMode) - fontMetrics.height()) / 2; | 1301 return fontMetrics.ascent(baselineType) + (lineHeight(firstLine, direction,
linePositionMode) - fontMetrics.height()) / 2; |
| 1304 } | 1302 } |
| 1305 | 1303 |
| 1306 LayoutSize RenderInline::offsetForInFlowPositionedInline(const RenderBox* child)
const | 1304 LayoutSize RenderInline::offsetForInFlowPositionedInline(const RenderBox* child)
const |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1576 container = this; | 1574 container = this; |
| 1577 | 1575 |
| 1578 FloatPoint absPos = container->localToAbsolute(); | 1576 FloatPoint absPos = container->localToAbsolute(); |
| 1579 region.bounds.setX(absPos.x() + region.bounds.x()); | 1577 region.bounds.setX(absPos.x() + region.bounds.x()); |
| 1580 region.bounds.setY(absPos.y() + region.bounds.y()); | 1578 region.bounds.setY(absPos.y() + region.bounds.y()); |
| 1581 | 1579 |
| 1582 regions.append(region); | 1580 regions.append(region); |
| 1583 } | 1581 } |
| 1584 | 1582 |
| 1585 } // namespace WebCore | 1583 } // namespace WebCore |
| OLD | NEW |