Lines Matching refs:frame
149 static void blitInterlace(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap, in blitInterlace() argument
154 GifWord copyWidth = frame->ImageDesc.Width; in blitInterlace()
155 if (frame->ImageDesc.Left + copyWidth > width) { in blitInterlace()
156 copyWidth = width - frame->ImageDesc.Left; in blitInterlace()
159 GifWord copyHeight = frame->ImageDesc.Height; in blitInterlace()
160 if (frame->ImageDesc.Top + copyHeight > height) { in blitInterlace()
161 copyHeight = height - frame->ImageDesc.Top; in blitInterlace()
165 const unsigned char* src = (unsigned char*)frame->RasterBits; in blitInterlace()
168 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 8, 0); in blitInterlace()
171 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 8, 4); in blitInterlace()
174 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 4, 2); in blitInterlace()
176 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 2, 1); in blitInterlace()
180 static void blitNormal(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap, in blitNormal() argument
185 const unsigned char* src = (unsigned char*)frame->RasterBits; in blitNormal()
186 uint32_t* dst = bm->getAddr32(frame->ImageDesc.Left, frame->ImageDesc.Top); in blitNormal()
187 GifWord copyWidth = frame->ImageDesc.Width; in blitNormal()
188 if (frame->ImageDesc.Left + copyWidth > width) { in blitNormal()
189 copyWidth = width - frame->ImageDesc.Left; in blitNormal()
192 GifWord copyHeight = frame->ImageDesc.Height; in blitNormal()
193 if (frame->ImageDesc.Top + copyHeight > height) { in blitNormal()
194 copyHeight = height - frame->ImageDesc.Top; in blitNormal()
199 src += frame->ImageDesc.Width; in blitNormal()
226 static void drawFrame(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap) in drawFrame() argument
230 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in drawFrame()
231 ExtensionBlock* eb = frame->ExtensionBlocks + i; in drawFrame()
241 if (frame->ImageDesc.ColorMap != nullptr) { in drawFrame()
243 cmap = frame->ImageDesc.ColorMap; in drawFrame()
253 if (frame->ImageDesc.Interlace) { in drawFrame()
254 blitInterlace(bm, frame, cmap, transparent); in drawFrame()
259 blitNormal(bm, frame, cmap, transparent); in drawFrame()
262 static bool checkIfWillBeCleared(const SavedImage* frame) in checkIfWillBeCleared() argument
264 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in checkIfWillBeCleared()
265 ExtensionBlock* eb = frame->ExtensionBlocks + i; in checkIfWillBeCleared()
278 static void getTransparencyAndDisposalMethod(const SavedImage* frame, bool* trans, int* disposal) in getTransparencyAndDisposalMethod() argument
282 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in getTransparencyAndDisposalMethod()
283 ExtensionBlock* eb = frame->ExtensionBlocks + i; in getTransparencyAndDisposalMethod()