Index: third_party/WebKit/WebCore/rendering/RenderObject.h |
=================================================================== |
--- third_party/WebKit/WebCore/rendering/RenderObject.h (revision 5296) |
+++ third_party/WebKit/WebCore/rendering/RenderObject.h (working copy) |
@@ -27,6 +27,7 @@ |
#include "CachedResourceClient.h" |
#include "Document.h" |
+#include "FloatQuad.h" |
#include "RenderStyle.h" |
#include "ScrollTypes.h" |
#include "VisiblePosition.h" |
@@ -561,7 +562,11 @@ |
// content area (box minus padding/border) |
IntRect contentBox() const; |
+ // absolute coords of content area. Ignores transforms. |
IntRect absoluteContentBox() const; |
+ // content rect converted to absolute coords, taking transforms into account |
+ FloatQuad absoluteContentQuad() const; |
+ |
int contentWidth() const { return clientWidth() - paddingLeft() - paddingRight(); } |
int contentHeight() const { return clientHeight() - paddingTop() - paddingBottom(); } |
@@ -594,6 +599,9 @@ |
return localToAbsolute(localPoint, fixed, useTransforms); |
} |
+ // Convert a local quad to an absolute quad, taking transforms into account. |
+ virtual FloatQuad localToAbsoluteQuad(const FloatQuad&, bool fixed = false) const; |
+ |
// width and height are without margins but include paddings and borders |
virtual int width() const { return 0; } |
virtual int height() const { return 0; } |
@@ -687,8 +695,13 @@ |
virtual void addLineBoxRects(Vector<IntRect>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false); |
virtual void absoluteRects(Vector<IntRect>&, int tx, int ty, bool topLevel = true); |
- IntRect absoluteBoundingBoxRect(); |
+ // FIXME: useTransforms should go away eventually |
+ IntRect absoluteBoundingBoxRect(bool useTransforms = false); |
+ // Build an array of quads in absolute coords for line boxes |
+ virtual void collectAbsoluteLineBoxQuads(Vector<FloatQuad>&, unsigned startOffset = 0, unsigned endOffset = UINT_MAX, bool useSelectionHeight = false); |
+ virtual void absoluteQuads(Vector<FloatQuad>&, bool topLevel = true); |
+ |
// the rect that will be painted if this object is passed as the paintingRoot |
IntRect paintingRootRect(IntRect& topLevelRect); |