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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 ClipRects& storeClipRectsInCache(const ClipRectsContext&, | 209 ClipRects& storeClipRectsInCache(const ClipRectsContext&, |
210 ClipRects* parentClipRects, | 210 ClipRects* parentClipRects, |
211 const ClipRects&) const; | 211 const ClipRects&) const; |
212 | 212 |
213 void getOrCalculateClipRects(const ClipRectsContext&, ClipRects&) const; | 213 void getOrCalculateClipRects(const ClipRectsContext&, ClipRects&) const; |
214 | 214 |
215 ALWAYS_INLINE bool shouldClipOverflow(const ClipRectsContext&) const; | 215 ALWAYS_INLINE bool shouldClipOverflow(const ClipRectsContext&) const; |
216 ALWAYS_INLINE bool shouldRespectOverflowClip(const ClipRectsContext&) const; | 216 ALWAYS_INLINE bool shouldRespectOverflowClip(const ClipRectsContext&) const; |
217 | 217 |
218 // Returned clip rect in |output| is in the space of the context's rootLayer. | 218 // Returned clip rect in |output| is in the space of the context's rootLayer. |
219 ALWAYS_INLINE void calculateClipRectWithGeometryMapper( | 219 ALWAYS_INLINE void calculateBackgroundClipRectWithGeometryMapper( |
220 const ClipRectsContext&, | 220 const ClipRectsContext&, |
221 bool isForeground, | |
222 ClipRect& output) const; | 221 ClipRect& output) const; |
223 // Mutates the given rect into a rect in the space of the context's | 222 ALWAYS_INLINE void calculateForegroundClipRectWithGeometryMapper( |
224 // rootLayer. | 223 const ClipRectsContext&, |
225 ALWAYS_INLINE void mapLocalToRootWithGeometryMapper(const ClipRectsContext&, | 224 ClipRect& output) const; |
226 LayoutRect&) const; | 225 |
| 226 ALWAYS_INLINE void initializeCommonClipRectState( |
| 227 const ClipRectsContext&, |
| 228 PropertyTreeState& descendantPropertyTreeState, |
| 229 PropertyTreeState& ancestorPropertyTreeState) const; |
| 230 |
227 // Same as calculateRects, but using GeometryMapper. | 231 // Same as calculateRects, but using GeometryMapper. |
228 ALWAYS_INLINE void calculateRectsWithGeometryMapper( | 232 ALWAYS_INLINE void calculateRectsWithGeometryMapper( |
229 const ClipRectsContext&, | 233 const ClipRectsContext&, |
230 const LayoutRect& paintDirtyRect, | 234 const LayoutRect& paintDirtyRect, |
231 LayoutRect& layerBounds, | 235 LayoutRect& layerBounds, |
232 ClipRect& backgroundRect, | 236 ClipRect& backgroundRect, |
233 ClipRect& foregroundRect, | 237 ClipRect& foregroundRect, |
234 const LayoutPoint* offsetFromRoot = 0) const; | 238 const LayoutPoint* offsetFromRoot = 0) const; |
235 | 239 |
236 void ALWAYS_INLINE | 240 // Returns the visual rect of m_layer in local space. This includes |
237 applyOverflowClipToBackgroundRectWithGeometryMapper(const ClipRectsContext&, | 241 // filter effects. |
238 ClipRect&) const; | 242 ALWAYS_INLINE LayoutRect localVisualRect() const; |
239 | 243 |
240 const PaintLayer& m_layer; | 244 const PaintLayer& m_layer; |
241 GeometryMapper* m_geometryMapper; | 245 GeometryMapper* m_geometryMapper; |
242 | 246 |
243 friend class PaintLayerClipperTest; | 247 friend class PaintLayerClipperTest; |
244 }; | 248 }; |
245 | 249 |
246 } // namespace blink | 250 } // namespace blink |
247 | 251 |
248 #endif // LayerClipper_h | 252 #endif // LayerClipper_h |
OLD | NEW |