OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google 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 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 #ifndef WebLayer_h | 26 #ifndef WebLayer_h |
27 #define WebLayer_h | 27 #define WebLayer_h |
28 | 28 |
29 #include "WebBlendMode.h" | 29 #include "WebBlendMode.h" |
30 #include "WebColor.h" | 30 #include "WebColor.h" |
31 #include "WebCommon.h" | 31 #include "WebCommon.h" |
32 #include "WebCompositorAnimation.h" | 32 #include "WebCompositorAnimation.h" |
33 #include "WebDoublePoint.h" | 33 #include "WebDoublePoint.h" |
34 #include "WebFloatPoint3D.h" | 34 #include "WebFloatPoint3D.h" |
| 35 #include "WebLayerPositionConstraint.h" |
35 #include "WebPoint.h" | 36 #include "WebPoint.h" |
36 #include "WebRect.h" | 37 #include "WebRect.h" |
37 #include "WebScrollBlocksOn.h" | 38 #include "WebScrollBlocksOn.h" |
38 #include "WebSize.h" | 39 #include "WebSize.h" |
39 #include "WebString.h" | 40 #include "WebString.h" |
40 #include "WebVector.h" | 41 #include "WebVector.h" |
41 | 42 |
42 class SkMatrix44; | 43 class SkMatrix44; |
43 class SkImageFilter; | 44 class SkImageFilter; |
44 | 45 |
45 namespace blink { | 46 namespace blink { |
46 class WebCompositorAnimationDelegate; | 47 class WebCompositorAnimationDelegate; |
47 class WebFilterOperations; | 48 class WebFilterOperations; |
48 class WebLayerClient; | 49 class WebLayerClient; |
49 class WebLayerScrollClient; | 50 class WebLayerScrollClient; |
50 struct WebFloatPoint; | 51 struct WebFloatPoint; |
51 struct WebLayerPositionConstraint; | 52 struct WebLayerPositionConstraint; |
| 53 struct WebLayerStickyPositionConstraint; |
52 | 54 |
53 class WebLayer { | 55 class WebLayer { |
54 public: | 56 public: |
55 virtual ~WebLayer() { } | 57 virtual ~WebLayer() { } |
56 | 58 |
57 // Returns a positive ID that will be unique across all WebLayers allocated
in this process. | 59 // Returns a positive ID that will be unique across all WebLayers allocated
in this process. |
58 virtual int id() const = 0; | 60 virtual int id() const = 0; |
59 | 61 |
60 // Sets a region of the layer as invalid, i.e. needs to update its content. | 62 // Sets a region of the layer as invalid, i.e. needs to update its content. |
61 virtual void invalidateRect(const WebRect&) = 0; | 63 virtual void invalidateRect(const WebRect&) = 0; |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 virtual WebScrollBlocksOn scrollBlocksOn() const { return WebScrollBlocksOnN
one; } | 215 virtual WebScrollBlocksOn scrollBlocksOn() const { return WebScrollBlocksOnN
one; } |
214 | 216 |
215 virtual void setIsContainerForFixedPositionLayers(bool) = 0; | 217 virtual void setIsContainerForFixedPositionLayers(bool) = 0; |
216 virtual bool isContainerForFixedPositionLayers() const = 0; | 218 virtual bool isContainerForFixedPositionLayers() const = 0; |
217 | 219 |
218 // This function sets layer position constraint. The constraint will be used | 220 // This function sets layer position constraint. The constraint will be used |
219 // to adjust layer position during threaded scrolling. | 221 // to adjust layer position during threaded scrolling. |
220 virtual void setPositionConstraint(const WebLayerPositionConstraint&) = 0; | 222 virtual void setPositionConstraint(const WebLayerPositionConstraint&) = 0; |
221 virtual WebLayerPositionConstraint positionConstraint() const = 0; | 223 virtual WebLayerPositionConstraint positionConstraint() const = 0; |
222 | 224 |
| 225 // FIXME: Make pure once cc is updated. |
| 226 virtual void setStickyPositionConstraint(const WebLayerStickyPositionConstra
int&) { }; |
| 227 virtual WebLayerStickyPositionConstraint stickyPositionConstraint() const {
return WebLayerStickyPositionConstraint(); } |
| 228 |
223 // The scroll client is notified when the scroll position of the WebLayer | 229 // The scroll client is notified when the scroll position of the WebLayer |
224 // changes. Only a single scroll client can be set for a WebLayer at a time. | 230 // changes. Only a single scroll client can be set for a WebLayer at a time. |
225 // The WebLayer does not take ownership of the scroll client, and it is the | 231 // The WebLayer does not take ownership of the scroll client, and it is the |
226 // responsibility of the client to reset the layer's scroll client before | 232 // responsibility of the client to reset the layer's scroll client before |
227 // deleting the scroll client. | 233 // deleting the scroll client. |
228 virtual void setScrollClient(WebLayerScrollClient*) = 0; | 234 virtual void setScrollClient(WebLayerScrollClient*) = 0; |
229 | 235 |
230 // Forces this layer to use a render surface. There is no benefit in doing | 236 // Forces this layer to use a render surface. There is no benefit in doing |
231 // so, but this is to facilitate benchmarks and tests. | 237 // so, but this is to facilitate benchmarks and tests. |
232 virtual void setForceRenderSurface(bool) = 0; | 238 virtual void setForceRenderSurface(bool) = 0; |
233 | 239 |
234 // True if the layer is not part of a tree attached to a WebLayerTreeView. | 240 // True if the layer is not part of a tree attached to a WebLayerTreeView. |
235 virtual bool isOrphan() const = 0; | 241 virtual bool isOrphan() const = 0; |
236 | 242 |
237 virtual void setWebLayerClient(WebLayerClient*) = 0; | 243 virtual void setWebLayerClient(WebLayerClient*) = 0; |
238 }; | 244 }; |
239 | 245 |
240 } // namespace blink | 246 } // namespace blink |
241 | 247 |
242 #endif // WebLayer_h | 248 #endif // WebLayer_h |
OLD | NEW |