OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PaintRecordPattern_h | 5 #ifndef PaintRecordPattern_h |
6 #define PaintRecordPattern_h | 6 #define PaintRecordPattern_h |
7 | 7 |
| 8 #include "platform/geometry/FloatRect.h" |
8 #include "platform/graphics/Pattern.h" | 9 #include "platform/graphics/Pattern.h" |
9 #include "third_party/skia/include/core/SkRefCnt.h" | 10 #include "third_party/skia/include/core/SkRefCnt.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 // TODO(enne): rename this | 14 // TODO(enne): rename this |
14 class PLATFORM_EXPORT PaintRecordPattern final : public Pattern { | 15 class PLATFORM_EXPORT PaintRecordPattern final : public Pattern { |
15 public: | 16 public: |
16 static PassRefPtr<PaintRecordPattern> Create(sk_sp<PaintRecord>, RepeatMode); | 17 static PassRefPtr<PaintRecordPattern> Create(sk_sp<PaintRecord>, |
| 18 const FloatRect& record_bounds, |
| 19 RepeatMode); |
17 | 20 |
18 ~PaintRecordPattern() override; | 21 ~PaintRecordPattern() override; |
19 | 22 |
20 protected: | 23 protected: |
21 sk_sp<PaintShader> CreateShader(const SkMatrix&) override; | 24 sk_sp<PaintShader> CreateShader(const SkMatrix&) override; |
22 | 25 |
23 private: | 26 private: |
24 PaintRecordPattern(sk_sp<PaintRecord>, RepeatMode); | 27 PaintRecordPattern(sk_sp<PaintRecord>, |
| 28 const FloatRect& record_bounds, |
| 29 RepeatMode); |
25 | 30 |
26 sk_sp<PaintRecord> tile_record_; | 31 sk_sp<PaintRecord> tile_record_; |
| 32 FloatRect tile_record_bounds_; |
27 }; | 33 }; |
28 | 34 |
29 } // namespace blink | 35 } // namespace blink |
30 | 36 |
31 #endif | 37 #endif |
OLD | NEW |