8#ifndef SkSwizzler_DEFINED
9#define SkSwizzler_DEFINED
73 return fAllocatedWidth;
114 int dstWidth,
int bpp,
int deltaSrc,
int offset,
117 template <RowProc Proc>
118 static void SkipLeading8888ZerosThen(
void*
SK_RESTRICT dstRow,
120 int dstWidth,
int bpp,
int deltaSrc,
int offset,
123 template <RowProc Proc>
124 static void SkipLeadingGrayAlphaZerosThen(
void*
dst,
const uint8_t*
src,
int width,
int bpp,
128 const RowProc fFastProc;
130 const RowProc fSlowProc;
204 const int fSrcOffset;
205 const int fDstOffset;
222 int srcWidth,
int dstOffset,
int dstWidth,
int srcBPP,
int dstBPP);
223 static std::unique_ptr<SkSwizzler>
Make(
const SkImageInfo& dstInfo, RowProc fastProc,
224 RowProc proc,
const SkPMColor* ctable,
int srcBPP,
int dstBPP,
227 int onSetSampleX(
int)
override;
size_t swizzleOffsetBytes() const
int fillWidth() const override
static std::unique_ptr< SkSwizzler > MakeSimple(int srcBPP, const SkImageInfo &dstInfo, const SkCodec::Options &)
static std::unique_ptr< SkSwizzler > Make(const SkEncodedInfo &encodedInfo, const SkPMColor *ctable, const SkImageInfo &dstInfo, const SkCodec::Options &, const SkIRect *frame=nullptr)
void swizzle(void *dst, const uint8_t *SK_RESTRICT src)