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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1777613002: Add localToAbsoluteTransform and localToAncestorTransform. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add comments to LayoutObject.h Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/LayoutObject.h
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.h b/third_party/WebKit/Source/core/layout/LayoutObject.h
index 8614a89b100a0d259dabca599e1958db3b90da9f..85850a5ba74da1f3dcdd356cff3bfd803b389cda 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -987,10 +987,25 @@ public:
}
// Convert a local quad into the coordinate system of container, taking transforms into account.
+ // If the LayoutBoxModelObject ancestor is non-null, the result will be in the space of the ancestor.
+ // Otherwise:
+ // If TraverseDocumentBoundaries is specified, the result will be in the space of the local root frame.
+ // Otherwise, the result will be in the space of the containing frame.
FloatQuad localToAncestorQuad(const FloatQuad&, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;
FloatPoint localToAncestorPoint(const FloatPoint&, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr, const PaintInvalidationState* = nullptr) const;
void localToAncestorRects(Vector<LayoutRect>&, const LayoutBoxModelObject* ancestor, const LayoutPoint& preOffset, const LayoutPoint& postOffset) const;
+ // Return the transformation matrix to map points from local to the coordinate system of a container, taking transforms into account.
+ // If the LayoutBoxModelObject ancestor is non-null, the result will transform into the space of the ancestor.
chrishtr 2016/03/15 23:06:42 You can just refer to the comments for localToAnce
dmazzoni 2016/03/16 05:42:01 Done.
+ // Otherwise:
+ // If TraverseDocumentBoundaries is specified, the result will transform into the space of the local root frame.
+ // Otherwise, the result will transform into the space of the containing frame.
+ TransformationMatrix localToAncestorTransform(const LayoutBoxModelObject* ancestor, MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const;
+ TransformationMatrix localToAbsoluteTransform(MapCoordinatesFlags mode = 0, bool* wasFixed = nullptr) const
+ {
+ return localToAncestorTransform(nullptr, mode, wasFixed);
+ }
+
// Convert a local point into the coordinate system of backing coordinates. Also returns the backing layer if needed.
FloatPoint localToInvalidationBackingPoint(const LayoutPoint&, PaintLayer** backingLayer = nullptr);

Powered by Google App Engine
This is Rietveld 408576698