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 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 // paintLayer() assumes that the caller will clip to the bounds of the paint
ing dirty if necessary. | 457 // paintLayer() assumes that the caller will clip to the bounds of the paint
ing dirty if necessary. |
458 void paintLayer(GraphicsContext*, const LayerPaintingInfo&, PaintLayerFlags)
; | 458 void paintLayer(GraphicsContext*, const LayerPaintingInfo&, PaintLayerFlags)
; |
459 | 459 |
460 // paintLayerContents() assumes that the caller will clip to the bounds of t
he painting dirty rect if necessary. | 460 // paintLayerContents() assumes that the caller will clip to the bounds of t
he painting dirty rect if necessary. |
461 void paintLayerContents(GraphicsContext*, const LayerPaintingInfo&, PaintLay
erFlags); | 461 void paintLayerContents(GraphicsContext*, const LayerPaintingInfo&, PaintLay
erFlags); |
462 | 462 |
463 void paintLayerByApplyingTransform(GraphicsContext*, const LayerPaintingInfo
&, PaintLayerFlags, const LayoutPoint& translationOffset = LayoutPoint()); | 463 void paintLayerByApplyingTransform(GraphicsContext*, const LayerPaintingInfo
&, PaintLayerFlags, const LayoutPoint& translationOffset = LayoutPoint()); |
464 | 464 |
465 void paintChildren(unsigned childrenToVisit, GraphicsContext*, const LayerPa
intingInfo&, PaintLayerFlags); | 465 void paintChildren(unsigned childrenToVisit, GraphicsContext*, const LayerPa
intingInfo&, PaintLayerFlags); |
466 | 466 |
| 467 void collectFragments(LayerFragments&, const RenderLayer* rootLayer, const L
ayoutRect& dirtyRect, |
| 468 ClipRectsCacheSlot, const LayoutPoint* offsetFromRoot = 0, |
| 469 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect*
layerBoundingBox = 0); |
467 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo
&, bool shouldPaintContent, const LayoutPoint* offsetFromRoot); | 470 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo
&, bool shouldPaintContent, const LayoutPoint* offsetFromRoot); |
468 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, | 471 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, |
469 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, RenderObject* paintingRootForRenderer); | 472 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, RenderObject* paintingRootForRenderer); |
470 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, | 473 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr
aphicsContext* transparencyLayerContext, |
471 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, RenderObject* paintingRootForRenderer); | 474 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con
st LayerPaintingInfo&, RenderObject* paintingRootForRenderer); |
472 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&,
GraphicsContext*, const LayerPaintingInfo&, RenderObject* paintingRootForRender
er); | 475 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&,
GraphicsContext*, const LayerPaintingInfo&, RenderObject* paintingRootForRender
er); |
473 void paintOutlineForFragments(const LayerFragments&, GraphicsContext*, const
LayerPaintingInfo&, RenderObject* paintingRootForRenderer); | 476 void paintOutlineForFragments(const LayerFragments&, GraphicsContext*, const
LayerPaintingInfo&, RenderObject* paintingRootForRenderer); |
474 void paintOverflowControlsForFragments(const LayerFragments&, GraphicsContex
t*, const LayerPaintingInfo&); | 477 void paintOverflowControlsForFragments(const LayerFragments&, GraphicsContex
t*, const LayerPaintingInfo&); |
475 void paintMaskForFragments(const LayerFragments&, GraphicsContext*, const La
yerPaintingInfo&, RenderObject* paintingRootForRenderer); | 478 void paintMaskForFragments(const LayerFragments&, GraphicsContext*, const La
yerPaintingInfo&, RenderObject* paintingRootForRenderer); |
476 void paintChildClippingMaskForFragments(const LayerFragments&, GraphicsConte
xt*, const LayerPaintingInfo&, RenderObject* paintingRootForRenderer, PaintLayer
Flags); | 479 void paintChildClippingMaskForFragments(const LayerFragments&, GraphicsConte
xt*, const LayerPaintingInfo&, RenderObject* paintingRootForRenderer, PaintLayer
Flags); |
477 | 480 |
478 RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLaye
r, const HitTestRequest& request, HitTestResult& result, | 481 RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLaye
r, const HitTestRequest& request, HitTestResult& result, |
479 const LayoutRect& hitTestRect, const HitTestLocati
on&, bool appliedTransform, | 482 const LayoutRect& hitTestRect, const HitTestLocati
on&, bool appliedTransform, |
480 const HitTestingTransformState* transformState = 0
, double* zOffset = 0); | 483 const HitTestingTransformState* transformState = 0
, double* zOffset = 0); |
481 RenderLayer* hitTestLayerByApplyingTransform(RenderLayer* rootLayer, RenderL
ayer* containerLayer, const HitTestRequest&, HitTestResult&, | 484 RenderLayer* hitTestLayerByApplyingTransform(RenderLayer* rootLayer, RenderL
ayer* containerLayer, const HitTestRequest&, HitTestResult&, |
482 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT
ransformState* = 0, double* zOffset = 0, | 485 const LayoutRect& hitTestRect, const HitTestLocation&, const HitTestingT
ransformState* = 0, double* zOffset = 0, |
483 const LayoutPoint& translationOffset = LayoutPoint()); | 486 const LayoutPoint& translationOffset = LayoutPoint()); |
484 RenderLayer* hitTestChildren(ChildrenIteration, RenderLayer* rootLayer, cons
t HitTestRequest&, HitTestResult&, | 487 RenderLayer* hitTestChildren(ChildrenIteration, RenderLayer* rootLayer, cons
t HitTestRequest&, HitTestResult&, |
485 const LayoutRect& hitTestRect, const HitTestLocatio
n&, | 488 const LayoutRect& hitTestRect, const HitTestLocatio
n&, |
486 const HitTestingTransformState* transformState, dou
ble* zOffsetForDescendants, double* zOffset, | 489 const HitTestingTransformState* transformState, dou
ble* zOffsetForDescendants, double* zOffset, |
487 const HitTestingTransformState* unflattenedTransfor
mState, bool depthSortDescendants); | 490 const HitTestingTransformState* unflattenedTransfor
mState, bool depthSortDescendants); |
488 | 491 |
489 PassRefPtr<HitTestingTransformState> createLocalTransformState(RenderLayer*
rootLayer, RenderLayer* containerLayer, | 492 PassRefPtr<HitTestingTransformState> createLocalTransformState(RenderLayer*
rootLayer, RenderLayer* containerLayer, |
490 const LayoutRect& hitTestRect, const HitTestLocation
&, | 493 const LayoutRect& hitTestRect, const HitTestLocation
&, |
491 const HitTestingTransformState* containerTransformSt
ate, | 494 const HitTestingTransformState* containerTransformSt
ate, |
492 const LayoutPoint& translationOffset = LayoutPoint()
) const; | 495 const LayoutPoint& translationOffset = LayoutPoint()
) const; |
493 | 496 |
494 bool hitTestContents(const HitTestRequest&, HitTestResult&, const LayoutRect
& layerBounds, const HitTestLocation&, HitTestFilter) const; | 497 bool hitTestContents(const HitTestRequest&, HitTestResult&, const LayoutRect
& layerBounds, const HitTestLocation&, HitTestFilter) const; |
| 498 bool hitTestContentsForFragments(const LayerFragments&, const HitTestRequest
&, HitTestResult&, const HitTestLocation&, HitTestFilter, bool& insideClipRect)
const; |
495 | 499 |
496 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; | 500 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; |
497 | 501 |
498 bool shouldBeSelfPaintingLayer() const; | 502 bool shouldBeSelfPaintingLayer() const; |
499 | 503 |
500 // FIXME: We should only create the stacking node if needed. | 504 // FIXME: We should only create the stacking node if needed. |
501 bool requiresStackingNode() const { return true; } | 505 bool requiresStackingNode() const { return true; } |
502 void updateStackingNode(); | 506 void updateStackingNode(); |
503 | 507 |
504 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) | 508 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 | 594 |
591 } // namespace blink | 595 } // namespace blink |
592 | 596 |
593 #ifndef NDEBUG | 597 #ifndef NDEBUG |
594 // Outside the WebCore namespace for ease of invocation from gdb. | 598 // Outside the WebCore namespace for ease of invocation from gdb. |
595 void showLayerTree(const blink::RenderLayer*); | 599 void showLayerTree(const blink::RenderLayer*); |
596 void showLayerTree(const blink::RenderObject*); | 600 void showLayerTree(const blink::RenderObject*); |
597 #endif | 601 #endif |
598 | 602 |
599 #endif // SKY_ENGINE_CORE_RENDERING_RENDERLAYER_H_ | 603 #endif // SKY_ENGINE_CORE_RENDERING_RENDERLAYER_H_ |
OLD | NEW |