Lines Matching refs:frame
153 static void blitInterlace(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap, in blitInterlace() argument
158 GifWord copyWidth = frame->ImageDesc.Width; in blitInterlace()
159 if (frame->ImageDesc.Left + copyWidth > width) { in blitInterlace()
160 copyWidth = width - frame->ImageDesc.Left; in blitInterlace()
163 GifWord copyHeight = frame->ImageDesc.Height; in blitInterlace()
164 if (frame->ImageDesc.Top + copyHeight > height) { in blitInterlace()
165 copyHeight = height - frame->ImageDesc.Top; in blitInterlace()
169 const unsigned char* src = (unsigned char*)frame->RasterBits; in blitInterlace()
172 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 8, 0); in blitInterlace()
175 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 8, 4); in blitInterlace()
178 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 4, 2); in blitInterlace()
180 copyInterlaceGroup(bm, src, cmap, transparent, copyWidth, copyHeight, frame->ImageDesc, 2, 1); in blitInterlace()
184 static void blitNormal(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap, in blitNormal() argument
189 const unsigned char* src = (unsigned char*)frame->RasterBits; in blitNormal()
190 uint32_t* dst = bm->getAddr32(frame->ImageDesc.Left, frame->ImageDesc.Top); in blitNormal()
191 GifWord copyWidth = frame->ImageDesc.Width; in blitNormal()
192 if (frame->ImageDesc.Left + copyWidth > width) { in blitNormal()
193 copyWidth = width - frame->ImageDesc.Left; in blitNormal()
196 GifWord copyHeight = frame->ImageDesc.Height; in blitNormal()
197 if (frame->ImageDesc.Top + copyHeight > height) { in blitNormal()
198 copyHeight = height - frame->ImageDesc.Top; in blitNormal()
203 src += frame->ImageDesc.Width; in blitNormal()
231 static void drawFrame(SkBitmap* bm, const SavedImage* frame, const ColorMapObject* cmap) in drawFrame() argument
235 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in drawFrame()
236 ExtensionBlock* eb = frame->ExtensionBlocks + i; in drawFrame()
246 if (frame->ImageDesc.ColorMap != nullptr) { in drawFrame()
248 cmap = frame->ImageDesc.ColorMap; in drawFrame()
258 if (frame->ImageDesc.Interlace) { in drawFrame()
259 blitInterlace(bm, frame, cmap, transparent); in drawFrame()
264 blitNormal(bm, frame, cmap, transparent); in drawFrame()
267 static bool checkIfWillBeCleared(const SavedImage* frame) in checkIfWillBeCleared() argument
269 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in checkIfWillBeCleared()
270 ExtensionBlock* eb = frame->ExtensionBlocks + i; in checkIfWillBeCleared()
283 static void getTransparencyAndDisposalMethod(const SavedImage* frame, bool* trans, int* disposal) in getTransparencyAndDisposalMethod() argument
287 for (int i = 0; i < frame->ExtensionBlockCount; ++i) { in getTransparencyAndDisposalMethod()
288 ExtensionBlock* eb = frame->ExtensionBlocks + i; in getTransparencyAndDisposalMethod()