OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. |
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
4 * | 4 * |
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
6 * | 6 * |
7 * Other contributors: | 7 * Other contributors: |
8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
10 * Christian Biesinger <cbiesinger@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); | 221 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); |
222 | 222 |
223 // Pass offsetFromRoot if known. | 223 // Pass offsetFromRoot if known. |
224 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d
amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0)
const; | 224 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d
amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0)
const; |
225 | 225 |
226 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know
n. | 226 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know
n. |
227 LayoutRect physicalBoundingBox(const RenderLayer* ancestorLayer, const Layou
tPoint* offsetFromRoot = 0) const; | 227 LayoutRect physicalBoundingBox(const RenderLayer* ancestorLayer, const Layou
tPoint* offsetFromRoot = 0) const; |
228 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const R
enderLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const; | 228 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const R
enderLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const; |
229 LayoutRect fragmentsBoundingBox(const RenderLayer* ancestorLayer) const; | 229 LayoutRect fragmentsBoundingBox(const RenderLayer* ancestorLayer) const; |
230 | 230 |
231 LayoutRect boundingBoxForCompositingOverlapTest() const { return overlapBoun
dsIncludeChildren() ? boundingBoxForCompositing() : flippedLogicalBoundingBox();
} | 231 LayoutRect boundingBoxForCompositingOverlapTest() const; |
232 | 232 |
233 // If true, this layer's children are included in its bounds for overlap tes
ting. | 233 // If true, this layer's children are included in its bounds for overlap tes
ting. |
234 // We can't rely on the children's positions if this layer has a filter that
could have moved the children's pixels around. | 234 // We can't rely on the children's positions if this layer has a filter that
could have moved the children's pixels around. |
235 bool overlapBoundsIncludeChildren() const { return hasFilter() && renderer()
->style()->filter().hasFilterThatMovesPixels(); } | 235 bool overlapBoundsIncludeChildren() const { return hasFilter() && renderer()
->style()->filter().hasFilterThatMovesPixels(); } |
236 | 236 |
237 enum CalculateBoundsOptions { | 237 enum CalculateBoundsOptions { |
238 ApplyBoundsChickenEggHacks, | 238 ApplyBoundsChickenEggHacks, |
239 DoNotApplyBoundsChickenEggHacks, | 239 DoNotApplyBoundsChickenEggHacks, |
240 }; | 240 }; |
241 LayoutRect boundingBoxForCompositing(const RenderLayer* ancestorLayer = 0, C
alculateBoundsOptions = DoNotApplyBoundsChickenEggHacks) const; | 241 LayoutRect boundingBoxForCompositing(const RenderLayer* ancestorLayer = 0, C
alculateBoundsOptions = DoNotApplyBoundsChickenEggHacks) const; |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 DescendantsOfTransparencyClipBox, | 532 DescendantsOfTransparencyClipBox, |
533 RootOfTransparencyClipBox | 533 RootOfTransparencyClipBox |
534 }; | 534 }; |
535 | 535 |
536 static LayoutRect transparencyClipBox(const RenderLayer*, const RenderLayer*
rootLayer, TransparencyClipBoxBehavior transparencyBehavior, | 536 static LayoutRect transparencyClipBox(const RenderLayer*, const RenderLayer*
rootLayer, TransparencyClipBoxBehavior transparencyBehavior, |
537 TransparencyClipBoxMode transparencyMode, const LayoutSize& subPixelAccu
mulation, PaintBehavior = 0); | 537 TransparencyClipBoxMode transparencyMode, const LayoutSize& subPixelAccu
mulation, PaintBehavior = 0); |
538 | 538 |
539 private: | 539 private: |
540 // Bounding box in the coordinates of this layer. | 540 // Bounding box in the coordinates of this layer. |
541 LayoutRect logicalBoundingBox() const; | 541 LayoutRect logicalBoundingBox() const; |
542 LayoutRect flippedLogicalBoundingBox() const; | |
543 | 542 |
544 bool hasOverflowControls() const; | 543 bool hasOverflowControls() const; |
545 | 544 |
546 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); | 545 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); |
547 | 546 |
548 void updateLayerPositionRecursive(); | 547 void updateLayerPositionRecursive(); |
549 | 548 |
550 void setNextSibling(RenderLayer* next) { m_next = next; } | 549 void setNextSibling(RenderLayer* next) { m_next = next; } |
551 void setPreviousSibling(RenderLayer* prev) { m_previous = prev; } | 550 void setPreviousSibling(RenderLayer* prev) { m_previous = prev; } |
552 void setFirstChild(RenderLayer* first) { m_first = first; } | 551 void setFirstChild(RenderLayer* first) { m_first = first; } |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 | 708 |
710 } // namespace blink | 709 } // namespace blink |
711 | 710 |
712 #ifndef NDEBUG | 711 #ifndef NDEBUG |
713 // Outside the WebCore namespace for ease of invocation from gdb. | 712 // Outside the WebCore namespace for ease of invocation from gdb. |
714 void showLayerTree(const blink::RenderLayer*); | 713 void showLayerTree(const blink::RenderLayer*); |
715 void showLayerTree(const blink::RenderObject*); | 714 void showLayerTree(const blink::RenderObject*); |
716 #endif | 715 #endif |
717 | 716 |
718 #endif // RenderLayer_h | 717 #endif // RenderLayer_h |
OLD | NEW |