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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 class HitTestingTransformState; | 67 class HitTestingTransformState; |
68 class RenderFlowThread; | 68 class RenderFlowThread; |
69 class RenderGeometryMap; | 69 class RenderGeometryMap; |
70 class CompositedLayerMapping; | 70 class CompositedLayerMapping; |
71 class RenderLayerCompositor; | 71 class RenderLayerCompositor; |
72 class RenderReplica; | 72 class RenderReplica; |
73 class RenderStyle; | 73 class RenderStyle; |
74 class TransformationMatrix; | 74 class TransformationMatrix; |
75 | 75 |
76 enum BorderRadiusClippingRule { IncludeSelfForBorderRadius, DoNotIncludeSelfForB
orderRadius }; | 76 enum BorderRadiusClippingRule { IncludeSelfForBorderRadius, DoNotIncludeSelfForB
orderRadius }; |
| 77 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; |
77 | 78 |
78 class RenderLayer { | 79 class RenderLayer { |
79 public: | 80 public: |
80 friend class RenderReplica; | 81 friend class RenderReplica; |
81 // FIXME: Needed until we move all the necessary bits to the new class. | 82 // FIXME: Needed until we move all the necessary bits to the new class. |
82 friend class RenderLayerClipper; | 83 friend class RenderLayerClipper; |
83 // FIXME: Needed until we move all the necessary bits to the new class. | 84 // FIXME: Needed until we move all the necessary bits to the new class. |
84 friend class RenderLayerStackingNode; | 85 friend class RenderLayerStackingNode; |
85 // FIXME: Needed until we move all the necessary bits to the new class. | 86 // FIXME: Needed until we move all the necessary bits to the new class. |
86 friend class RenderLayerScrollableArea; | 87 friend class RenderLayerScrollableArea; |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} | 214 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} |
214 void updateHasVisibleNonLayerContent(); | 215 void updateHasVisibleNonLayerContent(); |
215 | 216 |
216 // Gets the nearest enclosing positioned ancestor layer (also includes | 217 // Gets the nearest enclosing positioned ancestor layer (also includes |
217 // the <html> layer and the root layer). | 218 // the <html> layer and the root layer). |
218 RenderLayer* enclosingPositionedAncestor() const; | 219 RenderLayer* enclosingPositionedAncestor() const; |
219 | 220 |
220 // The layer relative to which clipping rects for this layer are computed. | 221 // The layer relative to which clipping rects for this layer are computed. |
221 RenderLayer* clippingRootForPainting() const; | 222 RenderLayer* clippingRootForPainting() const; |
222 | 223 |
| 224 RenderLayer* enclosingOverflowClipLayer(IncludeSelfOrNot = IncludeSelf) cons
t; |
| 225 |
223 // Enclosing compositing layer; if includeSelf is true, may return this. | 226 // Enclosing compositing layer; if includeSelf is true, may return this. |
224 RenderLayer* enclosingCompositingLayer(bool includeSelf = true) const; | 227 RenderLayer* enclosingCompositingLayer(IncludeSelfOrNot = IncludeSelf) const
; |
225 RenderLayer* enclosingCompositingLayerForRepaint(bool includeSelf = true) co
nst; | 228 RenderLayer* enclosingCompositingLayerForRepaint(IncludeSelfOrNot = IncludeS
elf) const; |
226 // Ancestor compositing layer, excluding this. | 229 // Ancestor compositing layer, excluding this. |
227 RenderLayer* ancestorCompositingLayer() const { return enclosingCompositingL
ayer(false); } | 230 RenderLayer* ancestorCompositingLayer() const { return enclosingCompositingL
ayer(ExcludeSelf); } |
228 | 231 |
229 // Ancestor composited scrolling layer at or above our containing block. | 232 // Ancestor composited scrolling layer at or above our containing block. |
230 RenderLayer* ancestorCompositedScrollingLayer() const; | 233 RenderLayer* ancestorCompositedScrollingLayer() const; |
231 | 234 |
232 // Ancestor scrolling layer at or above our containing block. | 235 // Ancestor scrolling layer at or above our containing block. |
233 RenderLayer* ancestorScrollingLayer() const; | 236 RenderLayer* ancestorScrollingLayer() const; |
234 | 237 |
235 RenderLayer* enclosingFilterLayer(bool includeSelf = true) const; | 238 RenderLayer* enclosingFilterLayer(IncludeSelfOrNot = IncludeSelf) const; |
236 RenderLayer* enclosingFilterRepaintLayer() const; | 239 RenderLayer* enclosingFilterRepaintLayer() const; |
237 bool hasAncestorWithFilterOutsets() const; | 240 bool hasAncestorWithFilterOutsets() const; |
238 | 241 |
239 bool canUseConvertToLayerCoords() const | 242 bool canUseConvertToLayerCoords() const |
240 { | 243 { |
241 // These RenderObjects have an impact on their layers without the render
ers knowing about it. | 244 // These RenderObjects have an impact on their layers without the render
ers knowing about it. |
242 return !renderer()->hasColumns() && !renderer()->hasTransform() && !rend
erer()->isSVGRoot(); | 245 return !renderer()->hasColumns() && !renderer()->hasTransform() && !rend
erer()->isSVGRoot(); |
243 } | 246 } |
244 | 247 |
245 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntP
oint& location) const; | 248 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntP
oint& location) const; |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 | 741 |
739 } // namespace WebCore | 742 } // namespace WebCore |
740 | 743 |
741 #ifndef NDEBUG | 744 #ifndef NDEBUG |
742 // Outside the WebCore namespace for ease of invocation from gdb. | 745 // Outside the WebCore namespace for ease of invocation from gdb. |
743 void showLayerTree(const WebCore::RenderLayer*); | 746 void showLayerTree(const WebCore::RenderLayer*); |
744 void showLayerTree(const WebCore::RenderObject*); | 747 void showLayerTree(const WebCore::RenderObject*); |
745 #endif | 748 #endif |
746 | 749 |
747 #endif // RenderLayer_h | 750 #endif // RenderLayer_h |
OLD | NEW |