OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ | 5 #ifndef SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ |
6 #define SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ | 6 #define SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ |
7 | 7 |
8 #include "sky/engine/core/dom/ContainerNode.h" | 8 #include "sky/engine/core/dom/ContainerNode.h" |
9 #include "sky/engine/core/rendering/RenderBlockFlow.h" | 9 #include "sky/engine/core/rendering/RenderBlockFlow.h" |
10 | 10 |
(...skipping 28 matching lines...) Expand all Loading... |
39 bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestLoc
ation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction)
final; | 39 bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestLoc
ation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction)
final; |
40 | 40 |
41 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; | 41 virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; |
42 | 42 |
43 void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit&
maxLogicalWidth) const final; | 43 void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit&
maxLogicalWidth) const final; |
44 | 44 |
45 int firstLineBoxBaseline() const final; | 45 int firstLineBoxBaseline() const final; |
46 int lastLineBoxBaseline(LineDirectionMode) const final; | 46 int lastLineBoxBaseline(LineDirectionMode) const final; |
47 | 47 |
48 private: | 48 private: |
| 49 virtual const char* renderName() const override; |
| 50 |
49 void markLinesDirtyInBlockRange(LayoutUnit logicalTop, LayoutUnit logicalBot
tom, RootInlineBox* highest = 0); | 51 void markLinesDirtyInBlockRange(LayoutUnit logicalTop, LayoutUnit logicalBot
tom, RootInlineBox* highest = 0); |
50 | 52 |
51 InlineFlowBox* createLineBoxes(RenderObject*, const LineInfo&, InlineBox* ch
ildBox); | 53 InlineFlowBox* createLineBoxes(RenderObject*, const LineInfo&, InlineBox* ch
ildBox); |
52 RootInlineBox* constructLine(BidiRunList<BidiRun>&, const LineInfo&); | 54 RootInlineBox* constructLine(BidiRunList<BidiRun>&, const LineInfo&); |
53 void computeInlineDirectionPositionsForLine(RootInlineBox*, const LineInfo&,
BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd, GlyphOverflowAnd
FallbackFontsMap&, VerticalPositionCache&, WordMeasurements&); | 55 void computeInlineDirectionPositionsForLine(RootInlineBox*, const LineInfo&,
BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd, GlyphOverflowAnd
FallbackFontsMap&, VerticalPositionCache&, WordMeasurements&); |
54 BidiRun* computeInlineDirectionPositionsForSegment(RootInlineBox*, const Lin
eInfo&, ETextAlign, float& logicalLeft, | 56 BidiRun* computeInlineDirectionPositionsForSegment(RootInlineBox*, const Lin
eInfo&, ETextAlign, float& logicalLeft, |
55 float& availableLogicalWidth, BidiRun* firstRun, BidiRun* trailingSpaceR
un, GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache&, Wo
rdMeasurements&); | 57 float& availableLogicalWidth, BidiRun* firstRun, BidiRun* trailingSpaceR
un, GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache&, Wo
rdMeasurements&); |
56 void computeBlockDirectionPositionsForLine(RootInlineBox*, BidiRun*, GlyphOv
erflowAndFallbackFontsMap&, VerticalPositionCache&); | 58 void computeBlockDirectionPositionsForLine(RootInlineBox*, BidiRun*, GlyphOv
erflowAndFallbackFontsMap&, VerticalPositionCache&); |
57 // Helper function for layoutChildren() | 59 // Helper function for layoutChildren() |
58 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B
idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun*
trailingSpaceRun, WordMeasurements&); | 60 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B
idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun*
trailingSpaceRun, WordMeasurements&); |
59 void layoutRunsAndFloats(LineLayoutState&); | 61 void layoutRunsAndFloats(LineLayoutState&); |
60 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, | 62 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, |
61 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta
tus); | 63 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta
tus); |
62 void linkToEndLineIfNeeded(LineLayoutState&); | 64 void linkToEndLineIfNeeded(LineLayoutState&); |
63 static void markDirtyFloatsForPaintInvalidation(Vector<FloatWithRect>& float
s); | 65 static void markDirtyFloatsForPaintInvalidation(Vector<FloatWithRect>& float
s); |
64 void checkFloatsInCleanLine(RootInlineBox*, Vector<FloatWithRect>&, size_t&
floatIndex, bool& encounteredNewFloat, bool& dirtiedByFloat); | 66 void checkFloatsInCleanLine(RootInlineBox*, Vector<FloatWithRect>&, size_t&
floatIndex, bool& encounteredNewFloat, bool& dirtiedByFloat); |
65 RootInlineBox* determineStartPosition(LineLayoutState&, InlineBidiResolver&)
; | 67 RootInlineBox* determineStartPosition(LineLayoutState&, InlineBidiResolver&)
; |
66 void determineEndPosition(LineLayoutState&, RootInlineBox* startBox, InlineI
terator& cleanLineStart, BidiStatus& cleanLineBidiStatus); | 68 void determineEndPosition(LineLayoutState&, RootInlineBox* startBox, InlineI
terator& cleanLineStart, BidiStatus& cleanLineBidiStatus); |
67 bool checkPaginationAndFloatsAtEndLine(LineLayoutState&); | 69 bool checkPaginationAndFloatsAtEndLine(LineLayoutState&); |
68 bool matchedEndLine(LineLayoutState&, const InlineBidiResolver&, const Inlin
eIterator& endLineStart, const BidiStatus& endLineStatus); | 70 bool matchedEndLine(LineLayoutState&, const InlineBidiResolver&, const Inlin
eIterator& endLineStart, const BidiStatus& endLineStatus); |
69 void deleteEllipsisLineBoxes(); | 71 void deleteEllipsisLineBoxes(); |
70 void checkLinesForTextOverflow(); | 72 void checkLinesForTextOverflow(); |
71 }; | 73 }; |
72 | 74 |
73 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderParagraph, isRenderParagraph()); | 75 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderParagraph, isRenderParagraph()); |
74 | 76 |
75 } // namespace blink | 77 } // namespace blink |
76 | 78 |
77 #endif // SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ | 79 #endif // SKY_ENGINE_CORE_RENDERING_RENDERPARAGRAPH_H_ |
OLD | NEW |