| OLD | NEW | 
|    1 // Copyright 2015 The Chromium Authors. All rights reserved. |    1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #ifndef PaintPropertyTreeBuilder_h |    5 #ifndef PaintPropertyTreeBuilder_h | 
|    6 #define PaintPropertyTreeBuilder_h |    6 #define PaintPropertyTreeBuilder_h | 
|    7  |    7  | 
|    8 #include "platform/geometry/LayoutPoint.h" |    8 #include "platform/geometry/LayoutPoint.h" | 
|    9 #include "platform/graphics/paint/ClipPaintPropertyNode.h" |    9 #include "platform/graphics/paint/ClipPaintPropertyNode.h" | 
|   10 #include "platform/graphics/paint/EffectPaintPropertyNode.h" |   10 #include "platform/graphics/paint/EffectPaintPropertyNode.h" | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   70   // Therefore, we don't need extra bookkeeping for effect nodes and can |   70   // Therefore, we don't need extra bookkeeping for effect nodes and can | 
|   71   // generate the effect tree from a DOM-order traversal. |   71   // generate the effect tree from a DOM-order traversal. | 
|   72   const EffectPaintPropertyNode* currentEffect = nullptr; |   72   const EffectPaintPropertyNode* currentEffect = nullptr; | 
|   73   // Some effects are spatial, i.e. may refer to input pixels outside of output |   73   // Some effects are spatial, i.e. may refer to input pixels outside of output | 
|   74   // clip. The cull rect for its input shall be derived from its output clip. |   74   // clip. The cull rect for its input shall be derived from its output clip. | 
|   75   // This variable represents the input cull of current effect, also serves as |   75   // This variable represents the input cull of current effect, also serves as | 
|   76   // output clip of child effects that don't have a hard clip. |   76   // output clip of child effects that don't have a hard clip. | 
|   77   const ClipPaintPropertyNode* inputClipOfCurrentEffect = nullptr; |   77   const ClipPaintPropertyNode* inputClipOfCurrentEffect = nullptr; | 
|   78  |   78  | 
|   79   bool isUnderMultiColumnSpanner = false; |   79   bool isUnderMultiColumnSpanner = false; | 
 |   80  | 
 |   81   // True if a change has forced all properties in a subtree to be updated. This | 
 |   82   // can be set due to paint offset changes or when the structure of the | 
 |   83   // property tree changes (i.e., a node is added or removed). | 
 |   84   bool forceSubtreeUpdate = false; | 
|   80 }; |   85 }; | 
|   81  |   86  | 
|   82 // Creates paint property tree nodes for special things in the layout tree. |   87 // Creates paint property tree nodes for special things in the layout tree. | 
|   83 // Special things include but not limit to: overflow clip, transform, fixed-pos, |   88 // Special things include but not limit to: overflow clip, transform, fixed-pos, | 
|   84 // animation, mask, filter, ... etc. |   89 // animation, mask, filter, ... etc. | 
|   85 // It expects to be invoked for each layout tree node in DOM order during |   90 // It expects to be invoked for each layout tree node in DOM order during | 
|   86 // InPrePaint phase. |   91 // InPrePaint phase. | 
|   87 class PaintPropertyTreeBuilder { |   92 class PaintPropertyTreeBuilder { | 
|   88  public: |   93  public: | 
|   89   PaintPropertyTreeBuilderContext setupInitialContext(); |   94   PaintPropertyTreeBuilderContext setupInitialContext(); | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
|  106   static void updateTransform(const LayoutObject&, |  111   static void updateTransform(const LayoutObject&, | 
|  107                               PaintPropertyTreeBuilderContext&); |  112                               PaintPropertyTreeBuilderContext&); | 
|  108   static void updateTransformForNonRootSVG(const LayoutObject&, |  113   static void updateTransformForNonRootSVG(const LayoutObject&, | 
|  109                                            PaintPropertyTreeBuilderContext&); |  114                                            PaintPropertyTreeBuilderContext&); | 
|  110   static void updateEffect(const LayoutObject&, |  115   static void updateEffect(const LayoutObject&, | 
|  111                            PaintPropertyTreeBuilderContext&); |  116                            PaintPropertyTreeBuilderContext&); | 
|  112   static void updateCssClip(const LayoutObject&, |  117   static void updateCssClip(const LayoutObject&, | 
|  113                             PaintPropertyTreeBuilderContext&); |  118                             PaintPropertyTreeBuilderContext&); | 
|  114   static void updateLocalBorderBoxContext(const LayoutObject&, |  119   static void updateLocalBorderBoxContext(const LayoutObject&, | 
|  115                                           PaintPropertyTreeBuilderContext&); |  120                                           PaintPropertyTreeBuilderContext&); | 
|  116   static void updateScrollbarPaintOffset( |  121   static void updateScrollbarPaintOffset(const LayoutObject&, | 
|  117       const LayoutObject&, |  122                                          PaintPropertyTreeBuilderContext&); | 
|  118       const PaintPropertyTreeBuilderContext&); |  | 
|  119   static void updateOverflowClip(const LayoutObject&, |  123   static void updateOverflowClip(const LayoutObject&, | 
|  120                                  PaintPropertyTreeBuilderContext&); |  124                                  PaintPropertyTreeBuilderContext&); | 
|  121   static void updatePerspective(const LayoutObject&, |  125   static void updatePerspective(const LayoutObject&, | 
|  122                                 PaintPropertyTreeBuilderContext&); |  126                                 PaintPropertyTreeBuilderContext&); | 
|  123   static void updateSvgLocalToBorderBoxTransform( |  127   static void updateSvgLocalToBorderBoxTransform( | 
|  124       const LayoutObject&, |  128       const LayoutObject&, | 
|  125       PaintPropertyTreeBuilderContext&); |  129       PaintPropertyTreeBuilderContext&); | 
|  126   static void updateScrollAndScrollTranslation( |  130   static void updateScrollAndScrollTranslation( | 
|  127       const LayoutObject&, |  131       const LayoutObject&, | 
|  128       PaintPropertyTreeBuilderContext&); |  132       PaintPropertyTreeBuilderContext&); | 
|  129   static void updateOutOfFlowContext(const LayoutObject&, |  133   static void updateOutOfFlowContext(const LayoutObject&, | 
|  130                                      PaintPropertyTreeBuilderContext&); |  134                                      PaintPropertyTreeBuilderContext&); | 
|  131 }; |  135 }; | 
|  132  |  136  | 
|  133 }  // namespace blink |  137 }  // namespace blink | 
|  134  |  138  | 
|  135 #endif  // PaintPropertyTreeBuilder_h |  139 #endif  // PaintPropertyTreeBuilder_h | 
| OLD | NEW |