Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / graphics / Pattern.h
index 5d53382..49fd69f 100644 (file)
 #include "wtf/RefCounted.h"
 #include "wtf/RefPtr.h"
 
-namespace WebCore {
-
-class AffineTransform;
+namespace blink {
 
 class PLATFORM_EXPORT Pattern : public RefCounted<Pattern> {
 public:
-    static PassRefPtr<Pattern> create(PassRefPtr<Image> tileImage, bool repeatX, bool repeatY)
-    {
-        return adoptRef(new Pattern(tileImage, repeatX, repeatY));
-    }
+    enum RepeatMode {
+        RepeatModeX    = 1 << 0,
+        RepeatModeY    = 1 << 1,
+
+        RepeatModeNone = 0,
+        RepeatModeXY   = RepeatModeX | RepeatModeY
+    };
+
+    static PassRefPtr<Pattern> createBitmapPattern(PassRefPtr<Image> tileImage,
+        RepeatMode = RepeatModeXY);
     ~Pattern();
 
     SkShader* shader();
 
     void setPatternSpaceTransform(const AffineTransform& patternSpaceTransformation);
-    const AffineTransform& getPatternSpaceTransform() { return m_patternSpaceTransformation; };
-
-    bool repeatX() const { return m_repeatX; }
-    bool repeatY() const { return m_repeatY; }
 
 private:
-    Pattern(PassRefPtr<Image>, bool repeatX, bool repeatY);
+    Pattern(PassRefPtr<Image>, RepeatMode);
 
     RefPtr<NativeImageSkia> m_tileImage;
-    bool m_repeatX;
-    bool m_repeatY;
+    RepeatMode m_repeatMode;
     AffineTransform m_patternSpaceTransformation;
     RefPtr<SkShader> m_pattern;
     int m_externalMemoryAllocated;
 };
 
-} //namespace
+} // namespace blink
 
 #endif