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 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 1864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1875 LayoutRect columnRect(frameRect()); | 1875 LayoutRect columnRect(frameRect()); |
1876 block->adjustStartEdgeForWritingModeIncludingColumns(columnRect); | 1876 block->adjustStartEdgeForWritingModeIncludingColumns(columnRect); |
1877 offset += toSize(columnRect.location()); | 1877 offset += toSize(columnRect.location()); |
1878 LayoutPoint columnPoint = block->flipForWritingModeIncludingColumns(
point + offset); | 1878 LayoutPoint columnPoint = block->flipForWritingModeIncludingColumns(
point + offset); |
1879 offset = toLayoutSize(block->flipForWritingModeIncludingColumns(toLa
youtPoint(offset))); | 1879 offset = toLayoutSize(block->flipForWritingModeIncludingColumns(toLa
youtPoint(offset))); |
1880 offset += o->columnOffset(columnPoint); | 1880 offset += o->columnOffset(columnPoint); |
1881 offset = block->flipForWritingMode(offset); | 1881 offset = block->flipForWritingMode(offset); |
1882 | 1882 |
1883 if (offsetDependsOnPoint) | 1883 if (offsetDependsOnPoint) |
1884 *offsetDependsOnPoint = true; | 1884 *offsetDependsOnPoint = true; |
1885 } else | 1885 } else { |
1886 offset += topLeftLocationOffset(); | 1886 offset += topLeftLocationOffset(); |
| 1887 if (o->isRenderFlowThread()) { |
| 1888 // So far the point has been in flow thread coordinates (i.e. as
if everything in |
| 1889 // the fragmentation context lived in one tall single column). C
onvert it to a |
| 1890 // visual point now. |
| 1891 LayoutPoint pointInContainer = point + offset; |
| 1892 offset += o->columnOffset(pointInContainer); |
| 1893 if (offsetDependsOnPoint) |
| 1894 *offsetDependsOnPoint = true; |
| 1895 } |
| 1896 } |
1887 } | 1897 } |
1888 | 1898 |
1889 if (o->hasOverflowClip()) | 1899 if (o->hasOverflowClip()) |
1890 offset -= toRenderBox(o)->scrolledContentOffset(); | 1900 offset -= toRenderBox(o)->scrolledContentOffset(); |
1891 | 1901 |
1892 if (style()->position() == AbsolutePosition && o->isInFlowPositioned() && o-
>isRenderInline()) | 1902 if (style()->position() == AbsolutePosition && o->isInFlowPositioned() && o-
>isRenderInline()) |
1893 offset += toRenderInline(o)->offsetForInFlowPositionedInline(*this); | 1903 offset += toRenderInline(o)->offsetForInFlowPositionedInline(*this); |
1894 | 1904 |
1895 if (offsetDependsOnPoint) | |
1896 *offsetDependsOnPoint |= o->isRenderFlowThread(); | |
1897 | |
1898 return offset; | 1905 return offset; |
1899 } | 1906 } |
1900 | 1907 |
1901 InlineBox* RenderBox::createInlineBox() | 1908 InlineBox* RenderBox::createInlineBox() |
1902 { | 1909 { |
1903 return new InlineBox(*this); | 1910 return new InlineBox(*this); |
1904 } | 1911 } |
1905 | 1912 |
1906 void RenderBox::dirtyLineBoxes(bool fullLayout) | 1913 void RenderBox::dirtyLineBoxes(bool fullLayout) |
1907 { | 1914 { |
(...skipping 2747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4655 return 0; | 4662 return 0; |
4656 | 4663 |
4657 if (!layoutState && !flowThreadContainingBlock()) | 4664 if (!layoutState && !flowThreadContainingBlock()) |
4658 return 0; | 4665 return 0; |
4659 | 4666 |
4660 RenderBlock* containerBlock = containingBlock(); | 4667 RenderBlock* containerBlock = containingBlock(); |
4661 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); | 4668 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); |
4662 } | 4669 } |
4663 | 4670 |
4664 } // namespace WebCore | 4671 } // namespace WebCore |
OLD | NEW |