| /* | 
 |  * Copyright 2006 The Android Open Source Project | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 | #ifndef SkSpriteBlitter_DEFINED | 
 | #define SkSpriteBlitter_DEFINED | 
 |  | 
 | #include "SkBlitter.h" | 
 | #include "SkPixmap.h" | 
 | #include "SkShader.h" | 
 | #include "SkSmallAllocator.h" | 
 |  | 
 | class SkPaint; | 
 |  | 
 | class SkSpriteBlitter : public SkBlitter { | 
 | public: | 
 |     SkSpriteBlitter(const SkPixmap& source); | 
 |  | 
 |     virtual void setup(const SkPixmap& dst, int left, int top, const SkPaint&); | 
 |  | 
 | #ifdef SK_DEBUG | 
 |     void blitH(int x, int y, int width) override; | 
 |     void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_t runs[]) override; | 
 |     void blitV(int x, int y, int height, SkAlpha alpha) override; | 
 |     void blitMask(const SkMask&, const SkIRect& clip) override; | 
 | #endif | 
 |  | 
 |     static SkSpriteBlitter* ChooseD16(const SkPixmap& source, const SkPaint&, SkTBlitterAllocator*); | 
 |     static SkSpriteBlitter* ChooseD32(const SkPixmap& source, const SkPaint&, SkTBlitterAllocator*); | 
 |  | 
 | protected: | 
 |     SkPixmap        fDst; | 
 |     const SkPixmap  fSource; | 
 |     int             fLeft, fTop; | 
 |     const SkPaint*  fPaint; | 
 | }; | 
 |  | 
 | #endif |