Index: src/gpu/GrSWMaskHelper.h |
diff --git a/src/gpu/GrSWMaskHelper.h b/src/gpu/GrSWMaskHelper.h |
index 4c06786280a4b11087ef669fbd56072dc27d384d..ccd2df865e420038d056af10d254c5cfabdf4902 100644 |
--- a/src/gpu/GrSWMaskHelper.h |
+++ b/src/gpu/GrSWMaskHelper.h |
@@ -42,7 +42,8 @@ class GrDrawTarget; |
class GrSWMaskHelper : SkNoncopyable { |
public: |
GrSWMaskHelper(GrContext* context) |
- : fContext(context), fCompressMask(false) { |
+ : fContext(context) |
+ , fCompressionMode(kNone_CompressionMode) { |
} |
// set up the internal state in preparation for draws. Since many masks |
@@ -94,7 +95,6 @@ public: |
GrDrawTarget* target, |
const SkIRect& rect); |
-protected: |
private: |
GrContext* fContext; |
SkMatrix fMatrix; |
@@ -102,12 +102,22 @@ private: |
SkDraw fDraw; |
SkRasterClip fRasterClip; |
- // This flag says whether or not we should compress the mask. If |
- // it is true, then fCompressedFormat is always valid. |
- bool fCompressMask; |
+ // This enum says whether or not we should compress the mask: |
+ // kNone_CompressionMode: compression is not supported on this device. |
+ // kCompress_CompressionMode: compress the bitmap before it gets sent to the gpu |
+ // kBlitter_CompressionMode: write to the bitmap using a special compressed blitter. |
+ enum CompressionMode { |
+ kNone_CompressionMode, |
+ kCompress_CompressionMode, |
+ kBlitter_CompressionMode, |
+ } fCompressionMode; |
+ |
+ // This is the buffer into which we store our compressed data. This buffer is |
+ // only allocated (non-null) if fCompressionMode is kBlitter_CompressionMode |
+ SkAutoMalloc fCompressedBuffer; |
// This is the desired format within which to compress the |
- // texture. This value is only valid if fCompressMask is true. |
+ // texture. This value is only valid if fCompressionMode is not kNone_CompressionMode. |
SkTextureCompressor::Format fCompressedFormat; |
// Actually sends the texture data to the GPU. This is called from |