Plumb dst color space in many places, rather than "mode"
[platform/upstream/libSkiaSharp.git] / src / core / SkBitmapProvider.h
index 9ea2442..54f2877 100644 (file)
 
 class SkBitmapProvider {
 public:
-    explicit SkBitmapProvider(const SkImage* img, SkDestinationSurfaceColorMode colorMode)
+    explicit SkBitmapProvider(const SkImage* img, SkColorSpace* dstColorSpace)
         : fImage(img)
-        , fColorMode(colorMode) {
+        , fDstColorSpace(dstColorSpace) {
         SkASSERT(img);
     }
     SkBitmapProvider(const SkBitmapProvider& other)
         : fImage(other.fImage)
-        , fColorMode(other.fColorMode)
+        , fDstColorSpace(other.fDstColorSpace)
     {}
 
     int width() const;
     int height() const;
     uint32_t getID() const;
-    SkDestinationSurfaceColorMode colorMode() const { return fColorMode; }
+    SkColorSpace* dstColorSpace() const { return fDstColorSpace; }
 
     SkImageInfo info() const;
     bool isVolatile() const;
@@ -48,10 +48,10 @@ private:
     void* operator new(size_t) = delete;
     void* operator new(size_t, void*) = delete;
 
-    // SkBitmapProvider is always short-lived/stack allocated, and the source image is guaranteed
-    // to outlive its scope => we can store a raw ptr to avoid ref churn.
-    const SkImage*                fImage;
-    SkDestinationSurfaceColorMode fColorMode;
+    // SkBitmapProvider is always short-lived/stack allocated, and the source image and destination
+    // color space are guaranteed to outlive its scope => we can store raw ptrs to avoid ref churn.
+    const SkImage* fImage;
+    SkColorSpace*  fDstColorSpace;
 };
 
 #endif