• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 Google LLC
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef skgpu_Image_Graphite_DEFINED
9 #define skgpu_Image_Graphite_DEFINED
10 
11 #include "src/image/SkImage_Base.h"
12 
13 namespace skgpu {
14 
15 class Image_Graphite final : public SkImage_Base {
16 public:
17     Image_Graphite(const SkImageInfo&);
18     ~Image_Graphite() override;
19 
onReadPixels(GrDirectContext *,const SkImageInfo & dstInfo,void * dstPixels,size_t dstRowBytes,int srcX,int srcY,CachingHint)20     bool onReadPixels(GrDirectContext*,
21                       const SkImageInfo& dstInfo,
22                       void* dstPixels,
23                       size_t dstRowBytes,
24                       int srcX,
25                       int srcY,
26                       CachingHint) const override { return false; }
27 
onHasMipmaps()28     bool onHasMipmaps() const override { return false; }
29 
30     bool getROPixels(GrDirectContext*,
31                      SkBitmap*,
32                      CachingHint = kAllow_CachingHint) const override { return false; }
33 
onMakeSubset(const SkIRect &,GrDirectContext *)34     sk_sp<SkImage> onMakeSubset(const SkIRect&, GrDirectContext*) const override {
35         return nullptr;
36     }
37 
onIsValid(GrRecordingContext *)38     bool onIsValid(GrRecordingContext*) const override { return true; }
39 
onMakeColorTypeAndColorSpace(SkColorType,sk_sp<SkColorSpace>,GrDirectContext *)40     sk_sp<SkImage> onMakeColorTypeAndColorSpace(SkColorType,
41                                                 sk_sp<SkColorSpace>,
42                                                 GrDirectContext*) const override {
43         return nullptr;
44     }
45 
onReinterpretColorSpace(sk_sp<SkColorSpace>)46     sk_sp<SkImage> onReinterpretColorSpace(sk_sp<SkColorSpace>) const override {
47         return nullptr;
48     }
49 
50 protected:
51 
52 private:
53 #if SK_SUPPORT_GPU
onAsView(GrRecordingContext *,GrMipmapped,GrImageTexGenPolicy policy)54     std::tuple<GrSurfaceProxyView, GrColorType> onAsView(
55             GrRecordingContext*,
56             GrMipmapped,
57             GrImageTexGenPolicy policy) const override {
58         return {};
59     }
60 
61     std::unique_ptr<GrFragmentProcessor> onAsFragmentProcessor(
62             GrRecordingContext*,
63             SkSamplingOptions,
64             const SkTileMode[2],
65             const SkMatrix&,
66             const SkRect* subset,
67             const SkRect* domain) const override;
68 #endif
69 
70 };
71 
72 } // namespace skgpu
73 
74 #endif // skgpu_Image_Graphite_DEFINED
75