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 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 PaintLayerTemporaryClipRects = 1 << 2, | 341 PaintLayerTemporaryClipRects = 1 << 2, |
342 PaintLayerPaintingReflection = 1 << 3, | 342 PaintLayerPaintingReflection = 1 << 3, |
343 PaintLayerPaintingOverlayScrollbars = 1 << 4, | 343 PaintLayerPaintingOverlayScrollbars = 1 << 4, |
344 PaintLayerPaintingCompositingBackgroundPhase = 1 << 5, | 344 PaintLayerPaintingCompositingBackgroundPhase = 1 << 5, |
345 PaintLayerPaintingCompositingForegroundPhase = 1 << 6, | 345 PaintLayerPaintingCompositingForegroundPhase = 1 << 6, |
346 PaintLayerPaintingCompositingMaskPhase = 1 << 7, | 346 PaintLayerPaintingCompositingMaskPhase = 1 << 7, |
347 PaintLayerPaintingCompositingScrollingPhase = 1 << 8, | 347 PaintLayerPaintingCompositingScrollingPhase = 1 << 8, |
348 PaintLayerPaintingOverflowContents = 1 << 9, | 348 PaintLayerPaintingOverflowContents = 1 << 9, |
349 PaintLayerPaintingRootBackgroundOnly = 1 << 10, | 349 PaintLayerPaintingRootBackgroundOnly = 1 << 10, |
350 PaintLayerPaintingSkipRootBackground = 1 << 11, | 350 PaintLayerPaintingSkipRootBackground = 1 << 11, |
| 351 PaintLayerPaintingChildClippingMaskPhase = 1 << 12, |
351 PaintLayerPaintingCompositingAllPhases = (PaintLayerPaintingCompositingB
ackgroundPhase | PaintLayerPaintingCompositingForegroundPhase | PaintLayerPainti
ngCompositingMaskPhase) | 352 PaintLayerPaintingCompositingAllPhases = (PaintLayerPaintingCompositingB
ackgroundPhase | PaintLayerPaintingCompositingForegroundPhase | PaintLayerPainti
ngCompositingMaskPhase) |
352 }; | 353 }; |
353 | 354 |
354 typedef unsigned PaintLayerFlags; | 355 typedef unsigned PaintLayerFlags; |
355 | 356 |
356 // The two main functions that use the layer system. The paint method | 357 // The two main functions that use the layer system. The paint method |
357 // paints the layers that intersect the damage rect from back to | 358 // paints the layers that intersect the damage rect from back to |
358 // front. The hitTest method looks for mouse events by walking | 359 // front. The hitTest method looks for mouse events by walking |
359 // layers that intersect the point from front to back. | 360 // layers that intersect the point from front to back. |
360 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P
aintBehaviorNormal, RenderObject* paintingRoot = 0, | 361 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P
aintBehaviorNormal, RenderObject* paintingRoot = 0, |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 bool hasFilter() const { return renderer()->hasFilter(); } | 470 bool hasFilter() const { return renderer()->hasFilter(); } |
470 | 471 |
471 bool hasBlendMode() const; | 472 bool hasBlendMode() const; |
472 | 473 |
473 void* operator new(size_t); | 474 void* operator new(size_t); |
474 // Only safe to call from RenderLayerModelObject::destroyLayer() | 475 // Only safe to call from RenderLayerModelObject::destroyLayer() |
475 void operator delete(void*); | 476 void operator delete(void*); |
476 | 477 |
477 bool isComposited() const { return m_backing != 0; } | 478 bool isComposited() const { return m_backing != 0; } |
478 bool hasCompositedMask() const; | 479 bool hasCompositedMask() const; |
| 480 bool hasCompositedClippingMask() const; |
479 RenderLayerBacking* backing() const { return m_backing.get(); } | 481 RenderLayerBacking* backing() const { return m_backing.get(); } |
480 RenderLayerBacking* ensureBacking(); | 482 RenderLayerBacking* ensureBacking(); |
481 void clearBacking(bool layerBeingDestroyed = false); | 483 void clearBacking(bool layerBeingDestroyed = false); |
482 bool needsCompositedScrolling() const; | 484 bool needsCompositedScrolling() const; |
483 bool needsToBeStackingContainer() const; | 485 bool needsToBeStackingContainer() const; |
484 | 486 |
485 RenderLayer* scrollParent() const; | 487 RenderLayer* scrollParent() const; |
486 RenderLayer* clipParent() const; | 488 RenderLayer* clipParent() const; |
487 | 489 |
488 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const
RenderStyle* newStyle) const; | 490 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const
RenderStyle* newStyle) const; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo
&, PaintLayerFlags, bool shouldPaintContent, const LayoutPoint* offsetFromRoot); | 692 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo
&, PaintLayerFlags, bool shouldPaintContent, const LayoutPoint* offsetFromRoot); |
691 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, | 693 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, |
692 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer); | 694 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer); |
693 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, | 695 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, |
694 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer, | 696 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer, |
695 bool selectionOnly, bool forceBlackText); | 697 bool selectionOnly, bool forceBlackText); |
696 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&,
GraphicsContext*, const LayerPaintingInfo&, PaintBehavior, RenderObject* painti
ngRootForRenderer); | 698 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&,
GraphicsContext*, const LayerPaintingInfo&, PaintBehavior, RenderObject* painti
ngRootForRenderer); |
697 void paintOutlineForFragments(const LayerFragments&, GraphicsContext*, const
LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer); | 699 void paintOutlineForFragments(const LayerFragments&, GraphicsContext*, const
LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer); |
698 void paintOverflowControlsForFragments(const LayerFragments&, GraphicsContex
t*, const LayerPaintingInfo&); | 700 void paintOverflowControlsForFragments(const LayerFragments&, GraphicsContex
t*, const LayerPaintingInfo&); |
699 void paintMaskForFragments(const LayerFragments&, GraphicsContext*, const La
yerPaintingInfo&, RenderObject* paintingRootForRenderer); | 701 void paintMaskForFragments(const LayerFragments&, GraphicsContext*, const La
yerPaintingInfo&, RenderObject* paintingRootForRenderer); |
| 702 void paintChildClippingMaskForFragments(const LayerFragments&, GraphicsConte
xt*, const LayerPaintingInfo&, RenderObject* paintingRootForRenderer); |
700 void paintTransformedLayerIntoFragments(GraphicsContext*, const LayerPaintin
gInfo&, PaintLayerFlags); | 703 void paintTransformedLayerIntoFragments(GraphicsContext*, const LayerPaintin
gInfo&, PaintLayerFlags); |
701 | 704 |
702 RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLaye
r, const HitTestRequest& request, HitTestResult& result, | 705 RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLaye
r, const HitTestRequest& request, HitTestResult& result, |
703 const LayoutRect& hitTestRect, const HitTestLocati
on&, bool appliedTransform, | 706 const LayoutRect& hitTestRect, const HitTestLocati
on&, bool appliedTransform, |
704 const HitTestingTransformState* transformState = 0
, double* zOffset = 0); | 707 const HitTestingTransformState* transformState = 0
, double* zOffset = 0); |
705 RenderLayer* hitTestLayerByApplyingTransform(RenderLayer* rootLayer, RenderL
ayer* containerLayer, const HitTestRequest&, HitTestResult&, | 708 RenderLayer* hitTestLayerByApplyingTransform(RenderLayer* rootLayer, RenderL
ayer* containerLayer, const HitTestRequest&, HitTestResult&, |
706 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT
ransformState* = 0, double* zOffset = 0, | 709 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT
ransformState* = 0, double* zOffset = 0, |
707 const LayoutPoint& translationOffset = LayoutPoint()); | 710 const LayoutPoint& translationOffset = LayoutPoint()); |
708 RenderLayer* hitTestList(Vector<RenderLayer*>*, RenderLayer* rootLayer, cons
t HitTestRequest& request, HitTestResult& result, | 711 RenderLayer* hitTestList(Vector<RenderLayer*>*, RenderLayer* rootLayer, cons
t HitTestRequest& request, HitTestResult& result, |
709 const LayoutRect& hitTestRect, const HitTestLocatio
n&, | 712 const LayoutRect& hitTestRect, const HitTestLocatio
n&, |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1051 | 1054 |
1052 } // namespace WebCore | 1055 } // namespace WebCore |
1053 | 1056 |
1054 #ifndef NDEBUG | 1057 #ifndef NDEBUG |
1055 // Outside the WebCore namespace for ease of invocation from gdb. | 1058 // Outside the WebCore namespace for ease of invocation from gdb. |
1056 void showLayerTree(const WebCore::RenderLayer*); | 1059 void showLayerTree(const WebCore::RenderLayer*); |
1057 void showLayerTree(const WebCore::RenderObject*); | 1060 void showLayerTree(const WebCore::RenderObject*); |
1058 #endif | 1061 #endif |
1059 | 1062 |
1060 #endif // RenderLayer_h | 1063 #endif // RenderLayer_h |
OLD | NEW |