OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkImageSource_DEFINED | 8 #ifndef SkImageSource_DEFINED |
9 #define SkImageSource_DEFINED | 9 #define SkImageSource_DEFINED |
10 | 10 |
11 #include "SkImage.h" | 11 #include "SkImage.h" |
12 #include "SkImageFilter.h" | 12 #include "SkImageFilter.h" |
13 | 13 |
14 class SK_API SkImageSource : public SkImageFilter { | 14 class SK_API SkImageSource : public SkImageFilter { |
15 public: | 15 public: |
16 static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image) { | 16 static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image); |
17 if (!image) { | |
18 return nullptr; | |
19 } | |
20 | |
21 return sk_sp<SkImageFilter>(new SkImageSource(std::move(image))); | |
22 } | |
23 static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image, | 17 static sk_sp<SkImageFilter> Make(sk_sp<SkImage> image, |
24 const SkRect& srcRect, | 18 const SkRect& srcRect, |
25 const SkRect& dstRect, | 19 const SkRect& dstRect, |
26 SkFilterQuality filterQuality) { | 20 SkFilterQuality filterQuality); |
27 if (!image) { | |
28 return nullptr; | |
29 } | |
30 | |
31 return sk_sp<SkImageFilter>(new SkImageSource(std::move(image), | |
32 srcRect, dstRect, | |
33 filterQuality)); | |
34 } | |
35 | 21 |
36 SkRect computeFastBounds(const SkRect& src) const override; | 22 SkRect computeFastBounds(const SkRect& src) const override; |
37 | 23 |
38 SK_TO_STRING_OVERRIDE() | 24 SK_TO_STRING_OVERRIDE() |
39 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageSource) | 25 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageSource) |
40 | 26 |
41 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR | 27 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR |
42 static SkImageFilter* Create(SkImage* image) { | 28 static SkImageFilter* Create(SkImage* image) { |
43 return Make(sk_ref_sp<SkImage>(image)).release(); | 29 return Make(sk_ref_sp<SkImage>(image)).release(); |
44 } | 30 } |
(...skipping 19 matching lines...) Expand all Loading... |
64 SkFilterQuality); | 50 SkFilterQuality); |
65 | 51 |
66 sk_sp<SkImage> fImage; | 52 sk_sp<SkImage> fImage; |
67 SkRect fSrcRect, fDstRect; | 53 SkRect fSrcRect, fDstRect; |
68 SkFilterQuality fFilterQuality; | 54 SkFilterQuality fFilterQuality; |
69 | 55 |
70 typedef SkImageFilter INHERITED; | 56 typedef SkImageFilter INHERITED; |
71 }; | 57 }; |
72 | 58 |
73 #endif | 59 #endif |
OLD | NEW |