OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 CC_PAINT_PAINT_SHADER_H_ | 5 #ifndef CC_PAINT_PAINT_SHADER_H_ |
6 #define CC_PAINT_PAINT_SHADER_H_ | 6 #define CC_PAINT_PAINT_SHADER_H_ |
7 | 7 |
8 #include "cc/paint/paint_record.h" | 8 #include "cc/paint/paint_record.h" |
9 #include "third_party/skia/include/core/SkImage.h" | 9 #include "third_party/skia/include/core/SkImage.h" |
10 #include "third_party/skia/include/core/SkShader.h" | 10 #include "third_party/skia/include/core/SkShader.h" |
11 | 11 |
12 namespace cc { | 12 namespace cc { |
13 using PaintShader = SkShader; | 13 using PaintShader = SkShader; |
14 | 14 |
15 inline sk_sp<PaintShader> WrapSkShader(sk_sp<SkShader> shader) { | 15 inline sk_sp<PaintShader> WrapSkShader(sk_sp<SkShader> shader) { |
16 return shader; | 16 return shader; |
17 } | 17 } |
18 | 18 |
19 inline sk_sp<PaintShader> MakePaintShaderImage(sk_sp<const SkImage> image, | 19 inline sk_sp<PaintShader> MakePaintShaderImage(sk_sp<const SkImage> image, |
20 SkShader::TileMode tx, | 20 SkShader::TileMode tx, |
21 SkShader::TileMode ty, | 21 SkShader::TileMode ty, |
22 const SkMatrix* local_matrix) { | 22 const SkMatrix* local_matrix) { |
23 return image->makeShader(tx, ty, local_matrix); | 23 return image->makeShader(tx, ty, local_matrix); |
24 } | 24 } |
25 | 25 |
26 inline sk_sp<PaintShader> MakePaintShaderRecord(sk_sp<PaintRecord> record, | 26 inline sk_sp<PaintShader> MakePaintShaderRecord(sk_sp<PaintRecord> record, |
| 27 const SkRect& tile, |
27 SkShader::TileMode tx, | 28 SkShader::TileMode tx, |
28 SkShader::TileMode ty, | 29 SkShader::TileMode ty, |
29 const SkMatrix* local_matrix, | 30 const SkMatrix* local_matrix) { |
30 const SkRect* tile) { | 31 return SkShader::MakePictureShader(ToSkPicture(record, tile), tx, ty, |
31 return SkShader::MakePictureShader(ToSkPicture(record), tx, ty, local_matrix, | 32 local_matrix, nullptr); |
32 tile); | |
33 } | 33 } |
34 | 34 |
35 } // namespace cc | 35 } // namespace cc |
36 | 36 |
37 #endif // CC_PAINT_PAINT_SHADER_H_ | 37 #endif // CC_PAINT_PAINT_SHADER_H_ |
OLD | NEW |