| 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 "core/platform/graphics/FloatPoint3D.h" | 30 #include "core/platform/graphics/FloatPoint3D.h" |
| 31 #include "core/platform/graphics/GraphicsLayer.h" | 31 #include "core/platform/graphics/GraphicsLayer.h" |
| 32 #include "core/platform/graphics/GraphicsLayerClient.h" | 32 #include "core/platform/graphics/GraphicsLayerClient.h" |
| 33 #include "core/platform/graphics/transforms/TransformationMatrix.h" | 33 #include "core/platform/graphics/transforms/TransformationMatrix.h" |
| 34 #include "core/rendering/RenderLayer.h" | 34 #include "core/rendering/RenderLayer.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; |
| 40 | 41 |
| 41 enum CompositingLayerType { | 42 enum CompositingLayerType { |
| 42 NormalCompositingLayer, // non-tiled layer with backing store | 43 NormalCompositingLayer, // non-tiled layer with backing store |
| 43 MediaCompositingLayer, // layer that contains an image, video, webGL or plug
in | 44 MediaCompositingLayer, // layer that contains an image, video, webGL or plug
in |
| 44 ContainerCompositingLayer // layer with no backing store | 45 ContainerCompositingLayer // layer with no backing store |
| 45 }; | 46 }; |
| 46 | 47 |
| 47 | 48 |
| 48 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt
ree of RenderLayers into a GraphicsLayer. | 49 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt
ree of RenderLayers into a GraphicsLayer. |
| 49 struct GraphicsLayerPaintInfo { | 50 struct GraphicsLayerPaintInfo { |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 void updateContentsRect(bool isSimpleContainer); | 236 void updateContentsRect(bool isSimpleContainer); |
| 236 | 237 |
| 237 void updateCompositingReasons(); | 238 void updateCompositingReasons(); |
| 238 | 239 |
| 239 bool hasVisibleNonCompositingDescendantLayers() const; | 240 bool hasVisibleNonCompositingDescendantLayers() const; |
| 240 | 241 |
| 241 bool shouldClipCompositedBounds() const; | 242 bool shouldClipCompositedBounds() const; |
| 242 | 243 |
| 243 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c
lip); | 244 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c
lip); |
| 244 | 245 |
| 245 static CSSPropertyID graphicsLayerToCSSProperty(AnimatedPropertyID); | |
| 246 static AnimatedPropertyID cssToGraphicsLayerProperty(CSSPropertyID); | |
| 247 | |
| 248 RenderLayer* m_owningLayer; | 246 RenderLayer* m_owningLayer; |
| 249 | 247 |
| 250 OwnPtr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clippe
d by an ancestor which is not a stacking context. | 248 OwnPtr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clippe
d by an ancestor which is not a stacking context. |
| 251 OwnPtr<GraphicsLayer> m_graphicsLayer; | 249 OwnPtr<GraphicsLayer> m_graphicsLayer; |
| 252 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need
to draw the foreground separately. | 250 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need
to draw the foreground separately. |
| 253 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need
to draw the background separately. | 251 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need
to draw the background separately. |
| 254 OwnPtr<GraphicsLayer> m_childContainmentLayer; // Only used if we have clipp
ing on a stacking context with compositing children, or if the layer has a tile
cache. | 252 OwnPtr<GraphicsLayer> m_childContainmentLayer; // Only used if we have clipp
ing on a stacking context with compositing children, or if the layer has a tile
cache. |
| 255 OwnPtr<GraphicsLayer> m_maskLayer; // Only used if we have a mask. | 253 OwnPtr<GraphicsLayer> m_maskLayer; // Only used if we have a mask. |
| 256 | 254 |
| 257 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; | 255 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; |
| 258 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; | 256 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; |
| 259 OwnPtr<GraphicsLayer> m_layerForScrollCorner; | 257 OwnPtr<GraphicsLayer> m_layerForScrollCorner; |
| 260 | 258 |
| 261 OwnPtr<GraphicsLayer> m_scrollingLayer; // Only used if the layer is using c
omposited scrolling. | 259 OwnPtr<GraphicsLayer> m_scrollingLayer; // Only used if the layer is using c
omposited scrolling. |
| 262 OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is
using composited scrolling. | 260 OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is
using composited scrolling. |
| 263 | 261 |
| 262 OwnPtr<WebAnimationProvider> m_animationProvider; |
| 263 |
| 264 uint64_t m_scrollLayerID; | 264 uint64_t m_scrollLayerID; |
| 265 | 265 |
| 266 IntRect m_compositedBounds; | 266 IntRect m_compositedBounds; |
| 267 | 267 |
| 268 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make
transform-origin work | 268 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make
transform-origin work |
| 269 bool m_boundsConstrainedByClipping; | 269 bool m_boundsConstrainedByClipping; |
| 270 bool m_isMainFrameRenderViewLayer; | 270 bool m_isMainFrameRenderViewLayer; |
| 271 bool m_requiresOwnBackingStore; | 271 bool m_requiresOwnBackingStore; |
| 272 bool m_canCompositeFilters; | 272 bool m_canCompositeFilters; |
| 273 bool m_backgroundLayerPaintsFixedRootBackground; | 273 bool m_backgroundLayerPaintsFixedRootBackground; |
| 274 }; | 274 }; |
| 275 | 275 |
| 276 } // namespace WebCore | 276 } // namespace WebCore |
| 277 | 277 |
| 278 #endif // RenderLayerBacking_h | 278 #endif // RenderLayerBacking_h |
| OLD | NEW |