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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.h

Issue 2625133003: Handle geometry effects of filters in GeometryMapper (Closed)
Patch Set: - Created 3 years, 10 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 GeometryMapper_h 5 #ifndef GeometryMapper_h
6 #define GeometryMapper_h 6 #define GeometryMapper_h
7 7
8 #include "platform/graphics/paint/FloatClipRect.h" 8 #include "platform/graphics/paint/FloatClipRect.h"
9 #include "platform/graphics/paint/PropertyTreeState.h" 9 #include "platform/graphics/paint/PropertyTreeState.h"
10 #include "platform/transforms/TransformationMatrix.h" 10 #include "platform/transforms/TransformationMatrix.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 const TransformationMatrix& localToAncestorMatrixInternal( 170 const TransformationMatrix& localToAncestorMatrixInternal(
171 const TransformPaintPropertyNode* localTransformNode, 171 const TransformPaintPropertyNode* localTransformNode,
172 const TransformPaintPropertyNode* ancestorTransformNode, 172 const TransformPaintPropertyNode* ancestorTransformNode,
173 bool& success); 173 bool& success);
174 174
175 FloatClipRect localToAncestorClipRectInternal( 175 FloatClipRect localToAncestorClipRectInternal(
176 const PropertyTreeState& localTransformState, 176 const PropertyTreeState& localTransformState,
177 const PropertyTreeState& ancestorState, 177 const PropertyTreeState& ancestorState,
178 bool& success); 178 bool& success);
179 179
180 FloatClipRect slowLocalToAncestorVisualRectWithEffects(
181 const FloatRect&,
182 const PropertyTreeState& localState,
183 const PropertyTreeState& ancestorState,
184 bool& success);
185
180 // Returns the precomputed data if already set, or adds and memoizes a new 186 // Returns the precomputed data if already set, or adds and memoizes a new
181 // PrecomputedDataForAncestor otherwise. 187 // PrecomputedDataForAncestor otherwise.
182 PrecomputedDataForAncestor& getPrecomputedDataForAncestor( 188 PrecomputedDataForAncestor& getPrecomputedDataForAncestor(
183 const TransformPaintPropertyNode*); 189 const TransformPaintPropertyNode*);
184 190
185 // Returns the transform cache for the given ancestor transform node. 191 // Returns the transform cache for the given ancestor transform node.
186 TransformCache& getTransformCache(const TransformPaintPropertyNode*); 192 TransformCache& getTransformCache(const TransformPaintPropertyNode*);
187 193
188 // Returns the clip cache for the given ancestor clip node. 194 // Returns the clip cache for the given ancestor clip node.
189 ClipCache& getClipCache(const TransformPaintPropertyNode*, 195 ClipCache& getClipCache(const TransformPaintPropertyNode*,
190 const ClipPaintPropertyNode*); 196 const ClipPaintPropertyNode*);
191 197
192 friend class GeometryMapperTest; 198 friend class GeometryMapperTest;
193 friend class PaintLayerClipperTest; 199 friend class PaintLayerClipperTest;
194 200
195 HashMap<const TransformPaintPropertyNode*, 201 HashMap<const TransformPaintPropertyNode*,
196 std::unique_ptr<PrecomputedDataForAncestor>> 202 std::unique_ptr<PrecomputedDataForAncestor>>
197 m_data; 203 m_data;
198 204
199 const TransformationMatrix m_identity; 205 const TransformationMatrix m_identity;
200 206
201 DISALLOW_COPY_AND_ASSIGN(GeometryMapper); 207 DISALLOW_COPY_AND_ASSIGN(GeometryMapper);
202 }; 208 };
203 209
204 } // namespace blink 210 } // namespace blink
205 211
206 #endif // GeometryMapper_h 212 #endif // GeometryMapper_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698