File: common\tgaview.c

    1 
    2 /* Routine to decode Targa 16 bit RGB file
    3    */
    4 
    5 /* 16 bit .tga files were generated for continuous potential "potfile"s
    6    from version 9.? thru version 14.  Replaced by double row gif type
    7    file (.pot) in version 15.  Delete this code after a few more revs.
    8 */
    9 
   10 
   11   /* see Fractint.c for a description of the "include"  hierarchy */
   12 #include "port.h"
   13 #include "prototyp.h"
   14 #include "targa_lc.h"
   15 
   16 static FILE *fptarga = NULL;            /* FILE pointer           */
   17 
   18 /* Main entry decoder */
   19 int
   20 tgaview()
   21 {
   22    int i;
   23    int cs;
   24    unsigned int width;
   25    struct fractal_info info;
   26 
   27    if((fptarga = t16_open(readname, (int *)&width, (int *)&height, &cs, (U8 *)&info))==NULL)
   28       return(-1);
   29 
   30    rowcount = 0;
   31    for (i=0; i<(int)height; ++i)
   32    {
   33        t16_getline(fptarga, width, (U16 *)boxx);
   34        if ((*outln)((void *)boxx,width))
   35        {
   36           fclose(fptarga);
   37           fptarga = NULL;
   38           return(-1);
   39        }
   40        if (keypressed())
   41        {
   42           fclose(fptarga);
   43           fptarga = NULL;
   44           return(-1);
   45        }
   46    }
   47    fclose(fptarga);
   48    fptarga = NULL;
   49    return(0);
   50 }
   51 
   52 /* Outline function for 16 bit data with 8 bit fudge */
   53 int
   54 outlin16(BYTE *buffer,int linelen)
   55 {
   56     int i;
   57     U16 *buf;
   58     buf = (U16 *)buffer;
   59     for(i=0;i<linelen;i++)
   60        putcolor(i,rowcount,buf[i]>>8);
   61     rowcount++;
   62     return(0);
   63 }
   64