| Index: dm/DMSrcSink.h | 
| diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h | 
| index 1beaec9a697f3e9c2a34816e0477dfd38843a50d..a7cca8396a3de338300eb264c2e9a62d33ccd0d8 100644 | 
| --- a/dm/DMSrcSink.h | 
| +++ b/dm/DMSrcSink.h | 
| @@ -104,7 +104,6 @@ private: | 
| class CodecSrc : public Src { | 
| public: | 
| enum Mode { | 
| -        kScaledCodec_Mode, | 
| kCodec_Mode, | 
| kScanline_Mode, | 
| kScanline_Subset_Mode, | 
| @@ -129,6 +128,28 @@ private: | 
| float                   fScale; | 
| }; | 
|  | 
| +class AndroidCodecSrc : public Src { | 
| +public: | 
| +    enum Mode { | 
| +        kFullImage_Mode, | 
| +        // Splits the image into multiple subsets using a divisor and decodes the subsets | 
| +        // separately. | 
| +        kDivisor_Mode, | 
| +    }; | 
| + | 
| +    AndroidCodecSrc(Path, Mode, CodecSrc::DstColorType, int sampleSize); | 
| + | 
| +    Error draw(SkCanvas*) const override; | 
| +    SkISize size() const override; | 
| +    Name name() const override; | 
| +    bool veto(SinkFlags) const override; | 
| +private: | 
| +    Path                    fPath; | 
| +    Mode                    fMode; | 
| +    CodecSrc::DstColorType  fDstColorType; | 
| +    int                     fSampleSize; | 
| +}; | 
| + | 
| // Allows for testing of various implementations of Android's BitmapRegionDecoder | 
| class BRDSrc : public Src { | 
| public: | 
|  |