Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / graphics / BitmapPattern.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef BitmapPattern_h
6 #define BitmapPattern_h
7
8 #include "platform/graphics/BitmapPatternBase.h"
9
10 namespace blink {
11
12 class PLATFORM_EXPORT BitmapPattern : public BitmapPatternBase {
13 public:
14     static PassRefPtr<BitmapPattern> create(PassRefPtr<Image> tileImage, RepeatMode repeatMode)
15     {
16         return adoptRef(new BitmapPattern(tileImage, repeatMode));
17     }
18
19     virtual ~BitmapPattern() { }
20
21 protected:
22     virtual PassRefPtr<SkShader> createShader() override;
23
24     virtual SkImageInfo getBitmapInfo() override;
25     virtual void drawBitmapToCanvas(SkCanvas&, SkPaint&) override;
26
27 private:
28     BitmapPattern(PassRefPtr<Image>, RepeatMode);
29
30     RefPtr<NativeImageSkia> m_tileImage;
31 };
32
33 } // namespace
34
35 #endif