Home | History | Annotate | Download | only in giflib

Lines Matching defs:GifFile

35 static int EGifPutWord(int Word, GifFileType * GifFile);
36 static int EGifSetupCompress(GifFileType * GifFile);
37 static int EGifCompressLine(GifFileType * GifFile, GifPixelType * Line,
39 static int EGifCompressOutput(GifFileType * GifFile, int Code);
40 static int EGifBufferedOutput(GifFileType * GifFile, GifByteType * Buf,
58 GifFileType *GifFile;
74 GifFile = EGifOpenFileHandle(FileHandle, Error);
75 if (GifFile == (GifFileType *) NULL)
77 return GifFile;
90 GifFileType *GifFile;
94 GifFile = (GifFileType *) malloc(sizeof(GifFileType));
95 if (GifFile == NULL) {
99 memset(GifFile, '\0', sizeof(GifFileType));
103 free(GifFile);
110 free(GifFile);
123 GifFile->Private = (void *)Private;
130 GifFile->UserData = (void *)NULL; /* No user write handle (MRB) */
132 GifFile->Error = 0;
134 return GifFile;
144 GifFileType *GifFile;
147 GifFile = (GifFileType *)malloc(sizeof(GifFileType));
148 if (GifFile == NULL) {
154 memset(GifFile, '\0', sizeof(GifFileType));
158 free(GifFile);
168 free (GifFile);
175 GifFile->Private = (void *)Private;
181 GifFile->UserData = userData; /* User write handle (MRB) */
185 GifFile->Error = 0;
187 return GifFile;
194 EGifGetGifVersion(GifFileType *GifFile)
196 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
205 for (i = 0; i < GifFile->ImageCount; i++) {
206 for (j = 0; j < GifFile->SavedImages[i].ExtensionBlockCount; j++) {
208 GifFile->SavedImages[i].ExtensionBlocks[j].Function;
217 for (i = 0; i < GifFile->ExtensionBlockCount; i++) {
218 int function = GifFile->ExtensionBlocks[i].Function;
240 void EGifSetGifVersion(GifFileType *GifFile, const bool gif89)
242 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
265 EGifPutScreenDesc(GifFileType *GifFile,
273 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
278 GifFile->Error = E_GIF_ERR_HAS_SCRN_DSCR;
283 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
287 write_version = EGifGetGifVersion(GifFile);
290 if (InternalWrite(GifFile, (unsigned char *)write_version,
292 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
296 GifFile->SWidth = Width;
297 GifFile->SHeight = Height;
298 GifFile->SColorResolution = ColorRes;
299 GifFile->SBackGroundColor = BackGround;
301 GifFile->SColorMap = GifMakeMapObject(ColorMap->ColorCount,
303 if (GifFile->SColorMap == NULL) {
304 GifFile->Error = E_GIF_ERR_NOT_ENOUGH_MEM;
308 GifFile->SColorMap = NULL;
314 (void)EGifPutWord(Width, GifFile);
315 (void)EGifPutWord(Height, GifFile);
329 Buf[2] = GifFile->AspectByte; /* Pixel Aspect Ratio */
330 InternalWrite(GifFile, Buf, 3);
340 if (InternalWrite(GifFile, Buf, 3) != 3) {
341 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
358 EGifPutImageDesc(GifFileType *GifFile,
367 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
372 GifFile->Error = E_GIF_ERR_HAS_IMAG_DSCR;
377 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
380 GifFile->Image.Left = Left;
381 GifFile->Image.Top = Top;
382 GifFile->Image.Width = Width;
383 GifFile->Image.Height = Height;
384 GifFile->Image.Interlace = Interlace;
386 if (GifFile->Image.ColorMap != NULL) {
387 GifFreeMapObject(GifFile->Image.ColorMap);
388 GifFile->Image.ColorMap = NULL;
390 GifFile->Image.ColorMap = GifMakeMapObject(ColorMap->ColorCount,
392 if (GifFile->Image.ColorMap == NULL) {
393 GifFile->Error = E_GIF_ERR_NOT_ENOUGH_MEM;
397 GifFile->Image.ColorMap = NULL;
402 InternalWrite(GifFile, Buf, 1);
403 (void)EGifPutWord(Left, GifFile);
404 (void)EGifPutWord(Top, GifFile);
405 (void)EGifPutWord(Width, GifFile);
406 (void)EGifPutWord(Height, GifFile);
410 InternalWrite(GifFile, Buf, 1);
420 if (InternalWrite(GifFile, Buf, 3) != 3) {
421 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
426 if (GifFile->SColorMap == NULL && GifFile->Image.ColorMap == NULL) {
427 GifFile->Error = E_GIF_ERR_NO_COLOR_MAP;
436 (void)EGifSetupCompress(GifFile);
445 EGifPutLine(GifFileType * GifFile, GifPixelType *Line, int LineLen)
449 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
453 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
458 LineLen = GifFile->Image.Width;
460 GifFile->Error = E_GIF_ERR_DATA_TOO_BIG;
471 return EGifCompressLine(GifFile, Line, LineLen);
478 EGifPutPixel(GifFileType *GifFile, GifPixelType Pixel)
480 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
484 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
489 GifFile->Error = E_GIF_ERR_DATA_TOO_BIG;
498 return EGifCompressLine(GifFile, &Pixel, 1);
505 EGifPutComment(GifFileType *GifFile, const char *Comment)
512 return EGifPutExtension(GifFile, COMMENT_EXT_FUNC_CODE,
516 if (EGifPutExtensionLeader(GifFile, COMMENT_EXT_FUNC_CODE)
523 if (EGifPutExtensionBlock(GifFile, 255, buf) == GIF_ERROR) {
531 if (EGifPutExtensionBlock(GifFile, length, buf) == GIF_ERROR) {
535 if (EGifPutExtensionTrailer(GifFile) == GIF_ERROR) {
548 EGifPutExtensionLeader(GifFileType *GifFile, const int ExtCode)
551 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
555 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
561 InternalWrite(GifFile, Buf, 2);
570 EGifPutExtensionBlock(GifFileType *GifFile,
575 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
579 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
584 InternalWrite(GifFile, &Buf, 1);
585 InternalWrite(GifFile, Extension, ExtLen);
594 EGifPutExtensionTrailer(GifFileType *GifFile) {
597 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
601 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
607 InternalWrite(GifFile, &Buf, 1);
619 EGifPutExtension(GifFileType *GifFile,
625 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
629 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
634 InternalWrite(GifFile, (GifByteType *)&ExtLen, 1);
639 InternalWrite(GifFile, Buf, 3);
641 InternalWrite(GifFile, Extension, ExtLen);
643 InternalWrite(GifFile, Buf, 1);
670 GifFileType *GifFile, int ImageIndex)
676 if (ImageIndex < 0 || ImageIndex > GifFile->ImageCount - 1)
679 for (i = 0; i < GifFile->SavedImages[ImageIndex].ExtensionBlockCount; i++) {
680 ExtensionBlock *ep = &GifFile->SavedImages[ImageIndex].ExtensionBlocks[i];
688 if (GifAddExtensionBlock(&GifFile->SavedImages[ImageIndex].ExtensionBlockCount,
689 &GifFile->SavedImages[ImageIndex].ExtensionBlocks,
706 EGifPutCode(GifFileType *GifFile, int CodeSize, const GifByteType *CodeBlock)
708 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
712 GifFile->Error = E_GIF_ERR_NOT_WRITEABLE;
719 * if (InternalWrite(GifFile, &Buf, 1) != 1) {
720 * GifFile->Error = E_GIF_ERR_WRITE_FAILED;
725 return EGifPutCodeNext(GifFile, CodeBlock);
734 EGifPutCodeNext(GifFileType *GifFile, const GifByteType *CodeBlock)
737 GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
740 if (InternalWrite(GifFile, CodeBlock, CodeBlock[0] + 1)
742 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
747 if (InternalWrite(GifFile, &Buf, 1) != 1) {
748 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
761 EGifCloseFile(GifFileType *GifFile, int *ErrorCode)
767 if (GifFile == NULL)
770 Private = (GifFilePrivateType *) GifFile->Private;
777 free(GifFile);
784 InternalWrite(GifFile, &Buf, 1);
786 if (GifFile->Image.ColorMap) {
787 GifFreeMapObject(GifFile->Image.ColorMap);
788 GifFile->Image.ColorMap = NULL;
790 if (GifFile->SColorMap) {
791 GifFreeMapObject(GifFile->SColorMap);
792 GifFile->SColorMap = NULL;
804 free(GifFile);
808 free(GifFile);
818 EGifPutWord(int Word, GifFileType *GifFile)
824 if (InternalWrite(GifFile, c, 2) == 2)
834 EGifSetupCompress(GifFileType *GifFile)
838 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
841 if (GifFile->Image.ColorMap)
842 BitsPerPixel = GifFile->Image.ColorMap->BitsPerPixel;
843 else if (GifFile->SColorMap)
844 BitsPerPixel = GifFile->SColorMap->BitsPerPixel;
846 GifFile->Error = E_GIF_ERR_NO_COLOR_MAP;
851 InternalWrite(GifFile, &Buf, 1); /* Write the Code size to file. */
867 if (EGifCompressOutput(GifFile, Private->ClearCode) == GIF_ERROR) {
868 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
881 EGifCompressLine(GifFileType *GifFile,
889 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
913 if (EGifCompressOutput(GifFile, CrntCode) == GIF_ERROR) {
914 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
924 if (EGifCompressOutput(GifFile, Private->ClearCode)
926 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
946 if (EGifCompressOutput(GifFile, CrntCode) == GIF_ERROR) {
947 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
950 if (EGifCompressOutput(GifFile, Private->EOFCode) == GIF_ERROR) {
951 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
954 if (EGifCompressOutput(GifFile
955 GifFile->Error = E_GIF_ERR_DISK_IS_FULL;
970 EGifCompressOutput(GifFileType *GifFile,
973 GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private;
979 if (EGifBufferedOutput(GifFile, Private->Buf,
986 if (EGifBufferedOutput(GifFile, Private->Buf,
994 if (EGifBufferedOutput(GifFile, Private->Buf,
1018 EGifBufferedOutput(GifFileType *GifFile,
1025 && InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {
1026 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
1031 if (InternalWrite(GifFile, Buf, 1) != 1) {
1032 GifFile->Error = E_GIF_ERR_WRITE_FAILED;
1038 if (InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {
1039 GifFile->Error = E_GIF_ERR_WRITE_FAILED;