Ignore:
Timestamp:
Mar 18, 2008, 9:36:56 PM (15 years ago)
Author:
Sam Hocevar
Message:
  • Get rid of ugly tabs and trailing spaces everywhere.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • abuse/trunk/src/imlib/pcxread.cpp

    r56 r124  
    2525int read_PCX_header(FILE *fp)
    2626{
    27   if (!fread(&PCX_header.manufactururer,1,1,fp)) return 0; 
    28   if (!fread(&PCX_header.version,1,1,fp)) return 0; 
    29   if (!fread(&PCX_header.encoding,1,1,fp)) return 0; 
    30   if (!fread(&PCX_header.bits_per_pixel,1,1,fp)) return 0; 
     27  if (!fread(&PCX_header.manufactururer,1,1,fp)) return 0;
     28  if (!fread(&PCX_header.version,1,1,fp)) return 0;
     29  if (!fread(&PCX_header.encoding,1,1,fp)) return 0;
     30  if (!fread(&PCX_header.bits_per_pixel,1,1,fp)) return 0;
    3131  PCX_header.xmin=read_uint16(fp);
    32   PCX_header.ymin=read_uint16(fp); 
     32  PCX_header.ymin=read_uint16(fp);
    3333  PCX_header.xmax=read_uint16(fp);
    3434  PCX_header.ymax=read_uint16(fp);
     
    3838  if (!fread(&PCX_header.reserved,1,1,fp)) return 0;
    3939  if (!fread(&PCX_header.color_planes,1,1,fp)) return 0;
    40   PCX_header.bytes_per_line=read_uint16(fp); 
    41   PCX_header.palette_type=read_uint16(fp); 
     40  PCX_header.bytes_per_line=read_uint16(fp);
     41  PCX_header.palette_type=read_uint16(fp);
    4242  if (!fread(PCX_header.filter,1,58,fp)) return 0;
    4343  return 1;
     
    4646int write_PCX_header(FILE *fp)
    4747{
    48   if (!fwrite(&PCX_header.manufactururer,1,1,fp)) return 0; 
    49   if (!fwrite(&PCX_header.version,1,1,fp)) return 0; 
    50   if (!fwrite(&PCX_header.encoding,1,1,fp)) return 0; 
    51   if (!fwrite(&PCX_header.bits_per_pixel,1,1,fp)) return 0; 
     48  if (!fwrite(&PCX_header.manufactururer,1,1,fp)) return 0;
     49  if (!fwrite(&PCX_header.version,1,1,fp)) return 0;
     50  if (!fwrite(&PCX_header.encoding,1,1,fp)) return 0;
     51  if (!fwrite(&PCX_header.bits_per_pixel,1,1,fp)) return 0;
    5252  write_uint16(fp,PCX_header.xmin);
    53   write_uint16(fp,PCX_header.ymin); 
     53  write_uint16(fp,PCX_header.ymin);
    5454  write_uint16(fp,PCX_header.xmax);
    5555  write_uint16(fp,PCX_header.ymax);
     
    5959  if (!fwrite(&PCX_header.reserved,1,1,fp)) return 0;
    6060  if (!fwrite(&PCX_header.color_planes,1,1,fp)) return 0;
    61   write_uint16(fp,PCX_header.bytes_per_line); 
    62   write_uint16(fp,PCX_header.palette_type); 
     61  write_uint16(fp,PCX_header.bytes_per_line);
     62  write_uint16(fp,PCX_header.palette_type);
    6363  if (!fwrite(PCX_header.filter,1,58,fp)) return 0;
    6464  return 1;
     
    6969PCX_type PCX_file_type(char const *filename)
    7070{
    71   FILE *fp=fopen(filename,"rb"); 
     71  FILE *fp=fopen(filename,"rb");
    7272  if (!fp)
    73   { set_error(imREAD_ERROR); 
     73  { set_error(imREAD_ERROR);
    7474    return not_PCX;
    7575  }
    76  
    77   if (!read_PCX_header(fp))     
    78   {
    79     fclose(fp);   
    80     set_error(imREAD_ERROR); 
    81     return not_PCX;   
    82   }
    83   fclose(fp);     
    84   if (PCX_header.manufactururer!=10) 
    85     return not_PCX; 
     76
     77  if (!read_PCX_header(fp))
     78  {
     79    fclose(fp);
     80    set_error(imREAD_ERROR);
     81    return not_PCX;
     82  }
     83  fclose(fp);
     84  if (PCX_header.manufactururer!=10)
     85    return not_PCX;
    8686  if (PCX_header.color_planes==3 && PCX_header.bits_per_pixel==8)
    8787    return PCX_24;
    8888  else if (PCX_header.color_planes==1 && PCX_header.bits_per_pixel==8)
    8989    return PCX_8;
    90   else return not_PCX;   
     90  else return not_PCX;
    9191}
    9292
     
    9494{
    9595  int c,n=0,i;
    96  
     96
    9797  do
    9898  {
     
    102102      i=c&0x3f;
    103103      c=fgetc(fp);
    104       while (i--) 
     104      while (i--)
    105105      {
    106         *start=c;
    107         start+=skip;
    108         n++;   
     106    *start=c;
     107    start+=skip;
     108        n++;   
    109109      }
    110110    }
     
    114114      start+=skip;
    115115      n++;
    116     }   
    117   } while (n<width);   
     116    }
     117  } while (n<width);
    118118}
    119119
     
    121121image24 *read_PCX24(char const *filename)
    122122{
    123   if (PCX_file_type(filename)!=PCX_24) return NULL; 
     123  if (PCX_file_type(filename)!=PCX_24) return NULL;
    124124  FILE *fp=fopen(filename,"rb");
    125   read_PCX_header(fp); 
     125  read_PCX_header(fp);
    126126  image24 *im=new image24(PCX_header.xmax-PCX_header.xmin+1,
    127                           PCX_header.ymax-PCX_header.ymin+1);
     127              PCX_header.ymax-PCX_header.ymin+1);
    128128  int y;
    129129  for (y=0;y<im->height();y++)
     
    131131    read_PCX_line(fp,im->scan_line(y),3,PCX_header.bytes_per_line);
    132132    read_PCX_line(fp,im->scan_line(y)+1,3,PCX_header.bytes_per_line);
    133     read_PCX_line(fp,im->scan_line(y)+2,3,PCX_header.bytes_per_line);   
    134   }
    135   fclose(fp);
    136   return im; 
     133    read_PCX_line(fp,im->scan_line(y)+2,3,PCX_header.bytes_per_line);
     134  }
     135  fclose(fp);
     136  return im;
    137137}
    138138
    139139image *read_PCX(char const *filename, palette *&pal)
    140140{
    141   if (PCX_file_type(filename)!=PCX_8) return NULL; 
     141  if (PCX_file_type(filename)!=PCX_8) return NULL;
    142142  FILE *fp=fopen(filename,"rb");
    143143  read_PCX_header(fp);
    144  
     144
    145145  image *im=new image(PCX_header.xmax-PCX_header.xmin+1,
    146                       PCX_header.ymax-PCX_header.ymin+1);
     146              PCX_header.ymax-PCX_header.ymin+1);
    147147  int y;
    148148  for (y=0;y<im->height();y++)
    149149    read_PCX_line(fp,im->scan_line(y),1,PCX_header.bytes_per_line);
    150   unsigned char palette_confirm; 
     150  unsigned char palette_confirm;
    151151  if (!fread(&palette_confirm,1,1,fp) || palette_confirm!=12)
    152   {   
     152  {
    153153    pal=new palette;
    154154    pal->defaults();
     
    158158    pal=new palette;
    159159    fread(pal->addr(),1,256*3,fp);
    160   } 
    161   fclose(fp);
    162   return im; 
    163 } 
     160  }
     161  fclose(fp);
     162  return im;
     163}
    164164
    165165void write_PCX(image *im, palette *pal, char const *filename)
    166166{
    167167  FILE *fp=fopen(filename,"wb");
    168   if (!fp) 
     168  if (!fp)
    169169  {
    170170    set_error(imWRITE_ERROR);
    171171    return ;
    172172  }
    173  
    174  
    175   PCX_header.manufactururer=10; 
    176   PCX_header.version=5; 
     173
     174
     175  PCX_header.manufactururer=10;
     176  PCX_header.version=5;
    177177  PCX_header.encoding=1;
    178178  PCX_header.bits_per_pixel=8;
     
    190190
    191191
    192   if (!write_PCX_header(fp)) 
     192  if (!write_PCX_header(fp))
    193193  {
    194194    set_error( imWRITE_ERROR);
    195     return ; 
    196   }
    197  
     195    return ;
     196  }
     197
    198198  int y,run_length,x;
    199   unsigned char *sl,code; 
     199  unsigned char *sl,code;
    200200  for (y=0;y<im->height();y++)
    201201  {
     
    203203    for (x=0;x<im->width();)
    204204    {
    205       run_length=1;     
     205      run_length=1;
    206206      while (x+run_length<im->width() && sl[x]==sl[x+run_length])
    207207        run_length++;
    208       if (run_length==1 && sl[x]<64) 
    209         fputc(sl[x],fp);     
     208      if (run_length==1 && sl[x]<64)
     209        fputc(sl[x],fp);
    210210      else
    211211      {
    212212        if (run_length>=64)
    213           run_length=63;
    214         code=0xc0 | run_length;
    215         fputc(code,fp);
    216         fputc(sl[x],fp);
    217        
    218       }     
     213      run_length=63;
     214    code=0xc0 | run_length;
     215    fputc(code,fp);
     216    fputc(sl[x],fp);
     217   
     218      }
    219219      x+=run_length;
    220      
    221     }   
     220
     221    }
    222222  }
    223223  fputc(12,fp);  // note that there is a palette attached
    224224  fwrite(pal->addr(),1,256*3,fp);
    225   fclose(fp);   
    226 }
    227 
    228 
    229 
     225  fclose(fp);
     226}
     227
     228
     229
Note: See TracChangeset for help on using the changeset viewer.