Home | History | Annotate | Download | only in images

Lines Matching full:gif

44 /*  Implement the GIF interlace algorithm in an iterator.
99 //#define GIF_STAMP "GIF" /* First chars in file - GIF stamp. */
115 static const ColorMapObject* find_colormap(const GifFileType* gif) {
116 const ColorMapObject* cmap = gif->Image.ColorMap;
118 cmap = gif->SColorMap;
152 static bool error_return(GifFileType* gif, const SkBitmap& bm,
162 GifFileType* gif = DGifOpen(sk_stream, DecodeCallBackProc);
163 if (NULL == gif) {
164 return error_return(gif, *bm, "DGifOpen");
167 SkAutoTCallIProc<GifFileType, DGifCloseFile> acp(gif);
180 if (DGifGetRecordType(gif, &recType) == GIF_ERROR) {
181 return error_return(gif, *bm, "DGifGetRecordType");
186 if (DGifGetImageDesc(gif) == GIF_ERROR) {
187 return error_return(gif, *bm, "IMAGE_DESC_RECORD_TYPE");
190 if (gif->ImageCount < 1) { // sanity check
191 return error_return(gif, *bm, "ImageCount < 1");
194 width = gif->SWidth;
195 height = gif->SHeight;
199 return error_return(gif, *bm, "chooseFromOneChoice");
206 SavedImage* image = &gif->SavedImages[gif->ImageCount-1];
213 return error_return(gif, *bm, "TopLeft");
219 const ColorMapObject* cmap = find_colormap(gif);
221 return error_return(gif, *bm, "null cmap");
242 return error_return(gif, *bm, "allocPixelRef");
257 return error_return(gif, *bm, "non-pos inner width/height");
268 fill = gif->SBackGroundColor;
281 if (gif->Image.Interlace)
287 if (DGifGetLine(gif, row, innerWidth) == GIF_ERROR) {
288 return error_return(gif, *bm, "interlace DGifGetLine");
297 if (DGifGetLine(gif, scanline, innerWidth) == GIF_ERROR) {
298 return error_return(gif, *bm, "DGifGetLine");
307 if (DGifGetExtension(gif, &temp_save.Function,
309 return error_return(gif, *bm, "DGifGetExtension");
316 return error_return(gif, *bm, "AddExtensionBlock");
318 if (DGifGetExtensionNext(gif, &extData) == GIF_ERROR) {
319 return error_return(gif, *bm, "DGifGetExtensionNext");