Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, October 16, 2026

Diff for dead/diplomovka/xgrafix/src/xgprintgif.c between version 1.1 and 1.2

version 1.1, 2001/09/20 14:12:00 version 1.2, 2002/07/07 23:57:58
Line 79  static int GetPixel (int x, int y);
Line 79  static int GetPixel (int x, int y);
 static void BumpPixel (void);  static void BumpPixel (void);
 static int GIFNextPixel (ifunptr getpixel);  static int GIFNextPixel (ifunptr getpixel);
 static void GIFEncode (FILE* fp, int GWidth, int GHeight, int GInterlace,  static void GIFEncode (FILE* fp, int GWidth, int GHeight, int GInterlace,
                                                 int Background, int BitsPerPixel, int Red[],                  int Background, int BitsPerPixel, int Red[],
                                                 int Green[], int Blue[], ifunptr GetPixel);                  int Green[], int Blue[], ifunptr GetPixel);
 static void Putword (int w, FILE* fp);  static void Putword (int w, FILE* fp);
 static void compress (int init_bits, FILE* outfile, ifunptr ReadValue);  static void compress (int init_bits, FILE* outfile, ifunptr ReadValue);
 static void output (code_int code);  static void output (code_int code);
Line 90  static void char_init (void);
Line 90  static void char_init (void);
 static void char_out (int c);  static void char_out (int c);
 static void flush_char (void);  static void flush_char (void);
 void ReadXPMFile(char **stream, int *widthP, int *heightP, int *ncolorsP,  void ReadXPMFile(char **stream, int *widthP, int *heightP, int *ncolorsP,
                                                 int *chars_per_pixelP, pixel **colorsP);                  int *chars_per_pixelP, pixel **colorsP);
 void getline();  void getline();
 void ToGif(char *stream, char *outFile);  void ToGif(char *stream, char *outFile);
 void XpmToGif(char **xpmData, char *outFile);  void XpmToGif(char **xpmData, char *outFile);
Line 196  colorhash_table ppm_alloccolorhash(void)
Line 196  colorhash_table ppm_alloccolorhash(void)
   
 // Function colorhash_table ppm_computecolorhash(pix, cols, rows, maxcol, colP){{{  // Function colorhash_table ppm_computecolorhash(pix, cols, rows, maxcol, colP){{{
 colorhash_table ppm_computecolorhash(  colorhash_table ppm_computecolorhash(
                                                 pixel** pixels,                  pixel** pixels,
                                                 int cols, int rows,                  int cols, int rows,
                                                 int maxcolors, int* colorsP)                  int maxcolors, int* colorsP)
 {  {
         colorhash_table cht = NULL;          colorhash_table cht = NULL;
         register pixel* pP;          register pixel* pP;
Line 296  colorhist_vector ppm_colorhashtocolorhis
Line 296  colorhist_vector ppm_colorhashtocolorhis
   
 // Function colorhist_vector ppm_computecolorhist(pix, cols, rows, maxcol,colP){{{  // Function colorhist_vector ppm_computecolorhist(pix, cols, rows, maxcol,colP){{{
 colorhist_vector ppm_computecolorhist(pixel** pixels, int cols, int rows,  colorhist_vector ppm_computecolorhist(pixel** pixels, int cols, int rows,
                                                 int maxcolors, int* colorsP)                  int maxcolors, int* colorsP)
 {  {
         colorhash_table cht = NULL;          colorhash_table cht = NULL;
         colorhist_vector chv;          colorhist_vector chv;
Line 311  colorhist_vector ppm_computecolorhist(pi
Line 311  colorhist_vector ppm_computecolorhist(pi
   
 // Function char *ppm_writeppminit(stream, cols, rows, maxval, forceplain) {{{  // Function char *ppm_writeppminit(stream, cols, rows, maxval, forceplain) {{{
 char *ppm_writeppminit(char *stream, int cols, int rows, pixval maxval,  char *ppm_writeppminit(char *stream, int cols, int rows, pixval maxval,
                                                 int forceplain)                  int forceplain)
 {  {
         char temp[80];  #define TMP_LEN 80
           char temp[TMP_LEN];
   
         if (maxval <= 255 && ! forceplain)          if (maxval <= 255 && ! forceplain) {
                 sprintf(temp, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, RPPM_MAGIC2,                  if (snprintf(temp, TMP_LEN, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, RPPM_MAGIC2,
                                                                 cols, rows, maxval);                                          cols, rows, maxval) == -1)
         else                          fprintf(stderr, "Warning: string truncated at %s:%d\n", __FILE__, __LINE__);
                 sprintf(temp, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, PPM_MAGIC2,          }
                                                                 cols, rows, maxval);          else {
                   if (snprintf(temp, TMP_LEN, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, PPM_MAGIC2,
                                           cols, rows, maxval) == -1)
                           fprintf(stderr, "Warning: string truncated at %s:%d\n", __FILE__, __LINE__);
           }
   #undef TMP_LEN
   
         write_index = strlen(temp);          write_index = strlen(temp);
         stream = (char*)my_malloc(sizeof(char)*(write_index+1));          stream = (char*)my_malloc(sizeof(char)*(write_index+1));
Line 347  void putus(unsigned short n, char *strea
Line 353  void putus(unsigned short n, char *strea
   
 // Function void ppm_writeppmrowraw(stream, pixelrow, cols, maxval) {{{  // Function void ppm_writeppmrowraw(stream, pixelrow, cols, maxval) {{{
 void ppm_writeppmrowraw(char *stream, pixel* pixelrow, int cols,  void ppm_writeppmrowraw(char *stream, pixel* pixelrow, int cols,
                                                 pixval maxval)                  pixval maxval)
 {  {
         register int col;          register int col;
         register pixel* pP;          register pixel* pP;
Line 365  void ppm_writeppmrowraw(char *stream, pi
Line 371  void ppm_writeppmrowraw(char *stream, pi
   
 // Function void ppm_writeppmrowplain(stream, pixelrow, cols, maxval) {{{  // Function void ppm_writeppmrowplain(stream, pixelrow, cols, maxval) {{{
 void ppm_writeppmrowplain(char *stream, pixel* pixelrow, int cols,  void ppm_writeppmrowplain(char *stream, pixel* pixelrow, int cols,
                                                 pixval maxval)                  pixval maxval)
 {  {
         register int col, charcount;          register int col, charcount;
         register pixel* pP;          register pixel* pP;
Line 398  void ppm_writeppmrowplain(char *stream,
Line 404  void ppm_writeppmrowplain(char *stream,
   
 // Function void ppm_writeppmrow(stream, pixelrow, cols, maxval, forceplain) {{{  // Function void ppm_writeppmrow(stream, pixelrow, cols, maxval, forceplain) {{{
 void ppm_writeppmrow(char *stream, pixel* pixelrow, int cols, pixval maxval,  void ppm_writeppmrow(char *stream, pixel* pixelrow, int cols, pixval maxval,
                                                 int forceplain)                  int forceplain)
 {  {
         if (maxval <= 255 && ! forceplain)          if (maxval <= 255 && ! forceplain)
                 ppm_writeppmrowraw(stream, pixelrow, cols, maxval);                  ppm_writeppmrowraw(stream, pixelrow, cols, maxval);
Line 528  pixel ppm_parsecolor(char* colorname, pi
Line 534  pixel ppm_parsecolor(char* colorname, pi
                 }                  }
         }          }
         else if ((colorname[0] >= '0' && colorname[0] <= '9') ||          else if ((colorname[0] >= '0' && colorname[0] <= '9') ||
                                                         colorname[0] == '.') {                          colorname[0] == '.') {
                 /* It's an old-style decimal/float rgb specifier. */                  /* It's an old-style decimal/float rgb specifier. */
                 float fr, fg, fb;                  float fr, fg, fb;
   
Line 556  char **pm_allocarray(int cols, int rows,
Line 562  char **pm_allocarray(int cols, int rows,
   
 // Function void ppm_readppminitrest(stream, colsP, rowsP, maxvalP) {{{  // Function void ppm_readppminitrest(stream, colsP, rowsP, maxvalP) {{{
 void ppm_readppminitrest(char *stream, int* colsP, int* rowsP,  void ppm_readppminitrest(char *stream, int* colsP, int* rowsP,
                                                 pixval* maxvalP)                  pixval* maxvalP)
 {  {
         int maxval;          int maxval;
   
Line 600  int ppm_getint(char *stream)
Line 606  int ppm_getint(char *stream)
   
 // Function void ppm_readppmrow(stream, pixelrow, cols, maxval, format) {{{  // Function void ppm_readppmrow(stream, pixelrow, cols, maxval, format) {{{
 void ppm_readppmrow(char *stream, pixel* pixelrow, int cols, pixval maxval,  void ppm_readppmrow(char *stream, pixel* pixelrow, int cols, pixval maxval,
                                                 int format)                  int format)
 {  {
         register int col;          register int col;
         register pixel* pP;          register pixel* pP;
Line 667  void XpmToGif(char **xpmData, char *outF
Line 673  void XpmToGif(char **xpmData, char *outF
         pixrow = ppm_allocrow(cols);          pixrow = ppm_allocrow(cols);
   
         for (row = 0, ptr = xpmData[row+ncolors+1]; row < rows; ++row,          for (row = 0, ptr = xpmData[row+ncolors+1]; row < rows; ++row,
                                                         ptr = xpmData[row+ncolors+1]) {                          ptr = xpmData[row+ncolors+1]) {
                 for (col = 0, pP = pixrow; col < cols; ++col, ++pP, ++ptr)                  for (col = 0, pP = pixrow; col < cols; ++col, ++pP, ++ptr)
                         *pP = colors[(int)*ptr];                          *pP = colors[(int)*ptr];
                 stream = (char *)my_realloc(stream, size*cols*3*sizeof(char)+length);                  stream = (char *)my_realloc(stream, size*cols*3*sizeof(char)+length);
Line 686  void XpmToGif(char **xpmData, char *outF
Line 692  void XpmToGif(char **xpmData, char *outF
   
 // Function void ReadXPMFile(stream,widthP,heightP,ncolP,chars_per_pixP,colP) {{{  // Function void ReadXPMFile(stream,widthP,heightP,ncolP,chars_per_pixP,colP) {{{
 void ReadXPMFile(char **stream, int *widthP, int *heightP, int *ncolorsP,  void ReadXPMFile(char **stream, int *widthP, int *heightP, int *ncolorsP,
                                                 int *chars_per_pixelP, pixel **colorsP)                  int *chars_per_pixelP, pixel **colorsP)
 {  {
         char line[MAX_LINE], str1[MAX_LINE], str2[MAX_LINE];          char line[MAX_LINE], str1[MAX_LINE], str2[MAX_LINE];
         char *t1;          char *t1;
Line 829  void ToGif(char* stream, char *outFile)
Line 835  void ToGif(char* stream, char *outFile)
   
         /* All set, let's do it. */          /* All set, let's do it. */
         GIFEncode(file, cols, rows, 0, 0, BitsPerPixel, Red, Green, Blue,          GIFEncode(file, cols, rows, 0, 0, BitsPerPixel, Red, Green, Blue,
                                                         GetPixel);                          GetPixel);
   
         ppm_freecolorhash(cht);          ppm_freecolorhash(cht);
         fclose(file);          fclose(file);
Line 958  static int GIFNextPixel(ifunptr getpixel
Line 964  static int GIFNextPixel(ifunptr getpixel
   
 // Function static void GIFEncode() {{{  // Function static void GIFEncode() {{{
 static void GIFEncode(FILE* fp, int GWidth, int GHeight, int GInterlace,  static void GIFEncode(FILE* fp, int GWidth, int GHeight, int GInterlace,
                                                 int Background, int BitsPerPixel, int Red[], int Green[],                  int Background, int BitsPerPixel, int Red[], int Green[],
                                                 int Blue[], ifunptr GetPixel)                  int Blue[], ifunptr GetPixel)
 {  {
         int B;          int B;
         int RWidth, RHeight;          int RWidth, RHeight;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top