Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: Source/core/rendering/RenderLayer.h

Issue 23511004: mix-blend-mode implementation for accelerated layers - blink part (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: adding the rendering part Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 1079 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 void drawPlatformResizerImage(GraphicsContext*, IntRect resizerCornerRect); 1090 void drawPlatformResizerImage(GraphicsContext*, IntRect resizerCornerRect);
1091 1091
1092 void updatePagination(); 1092 void updatePagination();
1093 1093
1094 // FIXME: Temporary. Remove when new columns come online. 1094 // FIXME: Temporary. Remove when new columns come online.
1095 bool useRegionBasedColumns() const; 1095 bool useRegionBasedColumns() const;
1096 1096
1097 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; } 1097 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; }
1098 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; } 1098 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; }
1099 1099
1100 bool shouldIsolateCompositedBlendingDescendants() const { return m_compositi ngProperties.shouldIsolateBlendingDescendants; }
1101 void setShouldIsolateCompositedBlendingDescendants(bool isolate) { m_compos itingProperties.shouldIsolateBlendingDescendants = isolate; }
1102
1100 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper ties.compositingReasons = reasons; } 1103 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper ties.compositingReasons = reasons; }
1101 CompositingReasons compositingReasons() const { return m_compositingProperti es.compositingReasons; } 1104 CompositingReasons compositingReasons() const { return m_compositingProperti es.compositingReasons; }
1102 1105
1103 // Returns true if z ordering would not change if this layer were a stacking container. 1106 // Returns true if z ordering would not change if this layer were a stacking container.
1104 bool canBeStackingContainer() const; 1107 bool canBeStackingContainer() const;
1105 1108
1106 friend class RenderLayerBacking; 1109 friend class RenderLayerBacking;
1107 friend class RenderLayerCompositor; 1110 friend class RenderLayerCompositor;
1108 friend class RenderLayerModelObject; 1111 friend class RenderLayerModelObject;
1109 1112
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1241 RenderScrollbarPart* m_resizer; 1244 RenderScrollbarPart* m_resizer;
1242 1245
1243 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated. 1246 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated.
1244 RenderLayer* m_enclosingPaginationLayer; 1247 RenderLayer* m_enclosingPaginationLayer;
1245 1248
1246 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if 1249 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if
1247 // compositing status is not up-to-date before using them. 1250 // compositing status is not up-to-date before using them.
1248 struct CompositingProperties { 1251 struct CompositingProperties {
1249 CompositingProperties() 1252 CompositingProperties()
1250 : hasCompositingDescendant(false) 1253 : hasCompositingDescendant(false)
1254 , shouldIsolateBlendingDescendants(false)
1251 , viewportConstrainedNotCompositedReason(NoNotCompositedReason) 1255 , viewportConstrainedNotCompositedReason(NoNotCompositedReason)
1252 , compositingReasons(CompositingReasonNone) 1256 , compositingReasons(CompositingReasonNone)
1253 { } 1257 { }
1254 1258
1255 // Used only while determining what layers should be composited. Applies to the tree of z-order lists. 1259 // Used only while determining what layers should be composited. Applies to the tree of z-order lists.
1256 bool hasCompositingDescendant : 1; 1260 bool hasCompositingDescendant : 1;
1261 bool shouldIsolateBlendingDescendants : 1;
1257 1262
1258 // The reason, if any exists, that a fixed-position layer is chosen not to be composited. 1263 // The reason, if any exists, that a fixed-position layer is chosen not to be composited.
1259 unsigned viewportConstrainedNotCompositedReason : 2; 1264 unsigned viewportConstrainedNotCompositedReason : 2;
1260 1265
1261 // Once computed, indicates all that a layer needs to become composited using the CompositingReasons enum bitfield. 1266 // Once computed, indicates all that a layer needs to become composited using the CompositingReasons enum bitfield.
1262 CompositingReasons compositingReasons; 1267 CompositingReasons compositingReasons;
1263 }; 1268 };
1264 1269
1265 CompositingProperties m_compositingProperties; 1270 CompositingProperties m_compositingProperties;
1266 1271
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1319 1324
1320 } // namespace WebCore 1325 } // namespace WebCore
1321 1326
1322 #ifndef NDEBUG 1327 #ifndef NDEBUG
1323 // Outside the WebCore namespace for ease of invocation from gdb. 1328 // Outside the WebCore namespace for ease of invocation from gdb.
1324 void showLayerTree(const WebCore::RenderLayer*); 1329 void showLayerTree(const WebCore::RenderLayer*);
1325 void showLayerTree(const WebCore::RenderObject*); 1330 void showLayerTree(const WebCore::RenderObject*);
1326 #endif 1331 #endif
1327 1332
1328 #endif // RenderLayer_h 1333 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698