OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 19 matching lines...) Expand all Loading... |
30 #include "platform/geometry/FloatPoint.h" | 30 #include "platform/geometry/FloatPoint.h" |
31 #include "platform/geometry/FloatPoint3D.h" | 31 #include "platform/geometry/FloatPoint3D.h" |
32 #include "platform/graphics/GraphicsLayer.h" | 32 #include "platform/graphics/GraphicsLayer.h" |
33 #include "platform/graphics/GraphicsLayerClient.h" | 33 #include "platform/graphics/GraphicsLayerClient.h" |
34 #include "platform/transforms/TransformationMatrix.h" | 34 #include "platform/transforms/TransformationMatrix.h" |
35 | 35 |
36 namespace WebCore { | 36 namespace WebCore { |
37 | 37 |
38 class KeyframeList; | 38 class KeyframeList; |
39 class RenderLayerCompositor; | 39 class RenderLayerCompositor; |
40 class WebAnimationProvider; | |
41 | 40 |
42 enum CompositingLayerType { | 41 enum CompositingLayerType { |
43 NormalCompositingLayer, // non-tiled layer with backing store | 42 NormalCompositingLayer, // non-tiled layer with backing store |
44 MediaCompositingLayer, // layer that contains an image, video, webGL or plug
in | 43 MediaCompositingLayer, // layer that contains an image, video, webGL or plug
in |
45 ContainerCompositingLayer // layer with no backing store | 44 ContainerCompositingLayer // layer with no backing store |
46 }; | 45 }; |
47 | 46 |
48 | 47 |
49 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt
ree of RenderLayers into a GraphicsLayer. | 48 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt
ree of RenderLayers into a GraphicsLayer. |
50 struct GraphicsLayerPaintInfo { | 49 struct GraphicsLayerPaintInfo { |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 // a backing store changed. | 144 // a backing store changed. |
146 bool updateRequiresOwnBackingStoreForIntrinsicReasons(); | 145 bool updateRequiresOwnBackingStoreForIntrinsicReasons(); |
147 | 146 |
148 void setContentsNeedDisplay(); | 147 void setContentsNeedDisplay(); |
149 // r is in the coordinate space of the layer's render object | 148 // r is in the coordinate space of the layer's render object |
150 void setContentsNeedDisplayInRect(const IntRect&); | 149 void setContentsNeedDisplayInRect(const IntRect&); |
151 | 150 |
152 // Notification from the renderer that its content changed. | 151 // Notification from the renderer that its content changed. |
153 void contentChanged(ContentChangeType); | 152 void contentChanged(ContentChangeType); |
154 | 153 |
155 // Interface to start, finish, suspend and resume animations and transitions | |
156 bool startTransition(double, CSSPropertyID, const RenderStyle* fromStyle, co
nst RenderStyle* toStyle); | |
157 void transitionPaused(double timeOffset, CSSPropertyID); | |
158 void transitionFinished(CSSPropertyID); | |
159 | |
160 bool startAnimation(double timeOffset, const CSSAnimationData*, const Keyfra
meList& keyframes); | |
161 void animationPaused(double timeOffset, const String& name); | |
162 void animationFinished(const String& name); | |
163 | |
164 LayoutRect compositedBounds() const; | 154 LayoutRect compositedBounds() const; |
165 void setCompositedBounds(const LayoutRect&); | 155 void setCompositedBounds(const LayoutRect&); |
166 void updateCompositedBounds(); | 156 void updateCompositedBounds(); |
167 | 157 |
168 void updateAfterWidgetResize(); | 158 void updateAfterWidgetResize(); |
169 void positionOverflowControlsLayers(const IntSize& offsetFromRoot); | 159 void positionOverflowControlsLayers(const IntSize& offsetFromRoot); |
170 bool hasUnpositionedOverflowControlsLayers() const; | 160 bool hasUnpositionedOverflowControlsLayers() const; |
171 | 161 |
172 void addRenderLayerToSquashingGraphicsLayer(RenderLayer*, IntSize offsetFrom
SquashingCLM, size_t nextSquashedLayerIndex); | 162 void addRenderLayerToSquashingGraphicsLayer(RenderLayer*, IntSize offsetFrom
SquashingCLM, size_t nextSquashedLayerIndex); |
173 void removeRenderLayerFromSquashingGraphicsLayer(const RenderLayer*); | 163 void removeRenderLayerFromSquashingGraphicsLayer(const RenderLayer*); |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 // | 333 // |
344 // With the hierarchy set up like this, the root content layer is able to sc
roll without affecting | 334 // With the hierarchy set up like this, the root content layer is able to sc
roll without affecting |
345 // the background layer (or repainting). | 335 // the background layer (or repainting). |
346 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need
to draw the foreground separately. | 336 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need
to draw the foreground separately. |
347 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need
to draw the background separately. | 337 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need
to draw the background separately. |
348 | 338 |
349 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; | 339 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; |
350 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; | 340 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; |
351 OwnPtr<GraphicsLayer> m_layerForScrollCorner; | 341 OwnPtr<GraphicsLayer> m_layerForScrollCorner; |
352 | 342 |
353 OwnPtr<WebAnimationProvider> m_animationProvider; | |
354 | |
355 OwnPtr<GraphicsLayer> m_squashingContainmentLayer; // Only used if any squas
hed layers exist, to contain the squashed layers as siblings to the rest of the
GraphicsLayer tree chunk. | 343 OwnPtr<GraphicsLayer> m_squashingContainmentLayer; // Only used if any squas
hed layers exist, to contain the squashed layers as siblings to the rest of the
GraphicsLayer tree chunk. |
356 OwnPtr<GraphicsLayer> m_squashingLayer; // Only used if any squashed layers
exist, this is the backing that squashed layers paint into. | 344 OwnPtr<GraphicsLayer> m_squashingLayer; // Only used if any squashed layers
exist, this is the backing that squashed layers paint into. |
357 Vector<GraphicsLayerPaintInfo> m_squashedLayers; | 345 Vector<GraphicsLayerPaintInfo> m_squashedLayers; |
358 | 346 |
359 LayoutRect m_compositedBounds; | 347 LayoutRect m_compositedBounds; |
360 LayoutSize m_subpixelAccumulation; // The accumulated subpixel offset of the
compositedBounds compared to absolute coordinates. | 348 LayoutSize m_subpixelAccumulation; // The accumulated subpixel offset of the
compositedBounds compared to absolute coordinates. |
361 | 349 |
362 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make
transform-origin work | 350 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make
transform-origin work |
363 bool m_isMainFrameRenderViewLayer; | 351 bool m_isMainFrameRenderViewLayer; |
364 bool m_requiresOwnBackingStoreForIntrinsicReasons; | 352 bool m_requiresOwnBackingStoreForIntrinsicReasons; |
365 bool m_requiresOwnBackingStoreForAncestorReasons; | 353 bool m_requiresOwnBackingStoreForAncestorReasons; |
366 bool m_canCompositeFilters; | 354 bool m_canCompositeFilters; |
367 bool m_backgroundLayerPaintsFixedRootBackground; | 355 bool m_backgroundLayerPaintsFixedRootBackground; |
368 }; | 356 }; |
369 | 357 |
370 } // namespace WebCore | 358 } // namespace WebCore |
371 | 359 |
372 #endif // CompositedLayerMapping_h | 360 #endif // CompositedLayerMapping_h |
OLD | NEW |