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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 InlineBox* lastLineBoxIncludingCulling() const { return alwaysCreateLineBoxe
s() ? lastLineBox() : culledInlineLastLineBox(); } | 80 InlineBox* lastLineBoxIncludingCulling() const { return alwaysCreateLineBoxe
s() ? lastLineBox() : culledInlineLastLineBox(); } |
81 | 81 |
82 LayoutBoxModelObject* virtualContinuation() const final { return continuatio
n(); } | 82 LayoutBoxModelObject* virtualContinuation() const final { return continuatio
n(); } |
83 LayoutInline* inlineElementContinuation() const; | 83 LayoutInline* inlineElementContinuation() const; |
84 | 84 |
85 void updateDragState(bool dragOn) final; | 85 void updateDragState(bool dragOn) final; |
86 | 86 |
87 LayoutSize offsetForInFlowPositionedInline(const LayoutBox& child) const; | 87 LayoutSize offsetForInFlowPositionedInline(const LayoutBox& child) const; |
88 | 88 |
89 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t) const final; | 89 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t) const final; |
| 90 // The following methods are called from the container if it has already add
ed outline rects for line boxes |
| 91 // and/or children of this LayoutInline. |
| 92 void addOutlineRectsForChildrenAndContinuations(Vector<LayoutRect>&, const L
ayoutPoint& additionalOffset) const; |
| 93 void addOutlineRectsForContinuations(Vector<LayoutRect>&, const LayoutPoint&
additionalOffset) const; |
90 | 94 |
91 using LayoutBoxModelObject::continuation; | 95 using LayoutBoxModelObject::continuation; |
92 using LayoutBoxModelObject::setContinuation; | 96 using LayoutBoxModelObject::setContinuation; |
93 | 97 |
94 bool alwaysCreateLineBoxes() const { return alwaysCreateLineBoxesForLayoutIn
line(); } | 98 bool alwaysCreateLineBoxes() const { return alwaysCreateLineBoxesForLayoutIn
line(); } |
95 void setAlwaysCreateLineBoxes(bool alwaysCreateLineBoxes = true) { setAlways
CreateLineBoxesForLayoutInline(alwaysCreateLineBoxes); } | 99 void setAlwaysCreateLineBoxes(bool alwaysCreateLineBoxes = true) { setAlways
CreateLineBoxesForLayoutInline(alwaysCreateLineBoxes); } |
96 void updateAlwaysCreateLineBoxes(bool fullLayout); | 100 void updateAlwaysCreateLineBoxes(bool fullLayout); |
97 | 101 |
98 LayoutRect localCaretRect(InlineBox*, int, LayoutUnit* extraWidthToEndOfLine
) final; | 102 LayoutRect localCaretRect(InlineBox*, int, LayoutUnit* extraWidthToEndOfLine
) final; |
99 | 103 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 | 149 |
146 DeprecatedPaintLayerType layerTypeRequired() const override { return isInFlo
wPositioned() || createsGroup() || hasClipPath() || style()->shouldCompositeForC
urrentAnimations() || style()->hasCompositorProxy() ? NormalDeprecatedPaintLayer
: NoDeprecatedPaintLayer; } | 150 DeprecatedPaintLayerType layerTypeRequired() const override { return isInFlo
wPositioned() || createsGroup() || hasClipPath() || style()->shouldCompositeForC
urrentAnimations() || style()->hasCompositorProxy() ? NormalDeprecatedPaintLayer
: NoDeprecatedPaintLayer; } |
147 | 151 |
148 LayoutUnit offsetLeft() const final; | 152 LayoutUnit offsetLeft() const final; |
149 LayoutUnit offsetTop() const final; | 153 LayoutUnit offsetTop() const final; |
150 LayoutUnit offsetWidth() const final { return linesBoundingBox().width(); } | 154 LayoutUnit offsetWidth() const final { return linesBoundingBox().width(); } |
151 LayoutUnit offsetHeight() const final { return linesBoundingBox().height();
} | 155 LayoutUnit offsetHeight() const final { return linesBoundingBox().height();
} |
152 | 156 |
153 LayoutRect absoluteClippedOverflowRect() const override; | 157 LayoutRect absoluteClippedOverflowRect() const override; |
154 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const ov
erride; | 158 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const ov
erride; |
155 LayoutRect rectWithOutlineForPaintInvalidation(const LayoutBoxModelObject* p
aintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalidationState
* = nullptr) const final; | |
156 void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* paintInva
lidationContainer, LayoutRect&, const PaintInvalidationState*) const final; | 159 void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* paintInva
lidationContainer, LayoutRect&, const PaintInvalidationState*) const final; |
157 | 160 |
158 // This method differs from clippedOverflowRectForPaintInvalidation in that
it includes | 161 // This method differs from clippedOverflowRectForPaintInvalidation in that
it includes |
159 // the rects for culled inline boxes, which aren't necessary for paint inval
idation. | 162 // the rects for culled inline boxes, which aren't necessary for paint inval
idation. |
160 LayoutRect clippedOverflowRect(const LayoutBoxModelObject*, const PaintInval
idationState* = nullptr) const; | 163 LayoutRect clippedOverflowRect(const LayoutBoxModelObject*, const PaintInval
idationState* = nullptr) const; |
161 | 164 |
162 void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0, const PaintInvalidationState* = nullptr) const override; | 165 void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0, const PaintInvalidationState* = nullptr) const override; |
163 | 166 |
164 PositionWithAffinity positionForPoint(const LayoutPoint&) final; | 167 PositionWithAffinity positionForPoint(const LayoutPoint&) final; |
165 | 168 |
(...skipping 26 matching lines...) Expand all Loading... |
192 | 195 |
193 LayoutObjectChildList m_children; | 196 LayoutObjectChildList m_children; |
194 LineBoxList m_lineBoxes; // All of the line boxes created for this inline fl
ow. For example, <i>Hello<br>world.</i> will have two <i> line boxes. | 197 LineBoxList m_lineBoxes; // All of the line boxes created for this inline fl
ow. For example, <i>Hello<br>world.</i> will have two <i> line boxes. |
195 }; | 198 }; |
196 | 199 |
197 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutInline, isLayoutInline()); | 200 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutInline, isLayoutInline()); |
198 | 201 |
199 } // namespace blink | 202 } // namespace blink |
200 | 203 |
201 #endif // LayoutInline_h | 204 #endif // LayoutInline_h |
OLD | NEW |