Index: Source/core/paint/BackgroundImageGeometry.h |
diff --git a/Source/core/paint/BackgroundImageGeometry.h b/Source/core/paint/BackgroundImageGeometry.h |
index b73de7bd4c5062faaf785f48b9ee5181f1275723..c93526541a6a3838f144ba331b2c88ec8f01c9a4 100644 |
--- a/Source/core/paint/BackgroundImageGeometry.h |
+++ b/Source/core/paint/BackgroundImageGeometry.h |
@@ -5,6 +5,7 @@ |
#ifndef BackgroundImageGeometry_h |
#define BackgroundImageGeometry_h |
+#include "core/paint/PaintPhase.h" |
#include "platform/geometry/IntPoint.h" |
#include "platform/geometry/IntRect.h" |
#include "platform/geometry/IntSize.h" |
@@ -12,6 +13,11 @@ |
namespace blink { |
+class FillLayer; |
+class LayoutBoxModelObject; |
+class LayoutObject; |
+class LayoutRect; |
+ |
class BackgroundImageGeometry { |
STACK_ALLOCATED(); |
public: |
@@ -19,51 +25,38 @@ public: |
: m_hasNonLocalGeometry(false) |
{ } |
- IntRect destRect() const { return m_destRect; } |
- void setDestRect(const IntRect& destRect) |
- { |
- m_destRect = destRect; |
- } |
- |
- IntPoint phase() const { return m_phase; } |
- void setPhase(const IntPoint& phase) |
- { |
- m_phase = phase; |
- } |
+ void calculate(const LayoutBoxModelObject&, const LayoutBoxModelObject* paintContainer, |
+ const GlobalPaintFlags, const FillLayer&, const LayoutRect& paintRect, |
+ LayoutObject* backgroundObject = nullptr); |
+ IntRect destRect() const { return m_destRect; } |
IntSize tileSize() const { return m_tileSize; } |
- void setTileSize(const IntSize& tileSize) |
- { |
- m_tileSize = tileSize; |
- } |
- |
+ IntPoint phase() const { return m_phase; } |
// Space-size represents extra width and height that may be added to |
- // the image if used as a pattern with repeat: space |
+ // the image if used as a pattern with background-repeat: space. |
IntSize spaceSize() const { return m_repeatSpacing; } |
- void setSpaceSize(const IntSize& repeatSpacing) |
- { |
- m_repeatSpacing = repeatSpacing; |
- } |
+ // Has background-attachment: fixed. Implies that we can't always cheaply compute destRect. |
+ bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; } |
+private: |
+ void setDestRect(const IntRect& destRect) { m_destRect = destRect; } |
+ void setPhase(const IntPoint& phase) { m_phase = phase; } |
+ void setTileSize(const IntSize& tileSize) { m_tileSize = tileSize; } |
+ void setSpaceSize(const IntSize& repeatSpacing) { m_repeatSpacing = repeatSpacing; } |
void setPhaseX(int x) { m_phase.setX(x); } |
void setPhaseY(int y) { m_phase.setY(y); } |
- |
void setNoRepeatX(int xOffset); |
void setNoRepeatY(int yOffset); |
void useFixedAttachment(const IntPoint& attachmentPoint); |
- |
void clip(const IntRect&); |
- |
void setHasNonLocalGeometry() { m_hasNonLocalGeometry = true; } |
- bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; } |
-private: |
IntRect m_destRect; |
IntPoint m_phase; |
IntSize m_tileSize; |
IntSize m_repeatSpacing; |
- bool m_hasNonLocalGeometry; // Has background-attachment: fixed. Implies that we can't always cheaply compute destRect. |
+ bool m_hasNonLocalGeometry; |
}; |
} // namespace blink |