home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 580b.lha / Wasp_v1.23 / src.LZH / src / raw.c < prev    next >
C/C++ Source or Header  |  1991-11-15  |  1KB  |  66 lines

  1. /* wasp - copyright Steven Reiz 1990, 1991
  2.  * see wasp.c for further info,
  3.  * formats/srgr.doc for a description of the SRGR format
  4.  * raw.c, 4/12/90 - 3/1/91,
  5.  * 5/5/91 - 23/6/91, 8/7/91
  6.  */
  7.  
  8. #include "wasp.h"
  9. #ifndef NOSH
  10. #include "raw.sh"
  11. #endif
  12.  
  13. #define RAW_ID id('S', 'R', 'G', 'R')
  14.  
  15. #ifdef __STDC__
  16. read_srgr(void)
  17. #else
  18. read_srgr()
  19. #endif
  20. {
  21.     short y;
  22.     long t;
  23.  
  24.     cread(&t, 4);
  25.     if (t!=RAW_ID) {
  26.         lseek(infd, 0L, 0);
  27.         return 0;
  28.     }
  29.     cread(&xsz, sizeof(xsz));
  30.     cread(&ysz, sizeof(ysz));
  31.     printf("SRGR input; %ld x %ld\n", xsz, ysz);
  32.     fflush(stdout);
  33.     if (!outfilename)
  34.     exit(0);
  35.     rgb=Malloc(ysz*sizeof(u_short *));
  36.     init_counter(0, (int)ysz, 20, NULL);
  37.     for (y=0; y<ysz; ++y) {
  38.         counter();
  39.         rgb[y]=Malloc(xsz*sizeof(u_short));
  40.         cread(rgb[y], xsz*sizeof(u_short));
  41.     }
  42.     erase_counter(NULL);
  43.     return 1;
  44. }
  45.  
  46.  
  47. #ifdef __STDC__
  48. write_srgr(void)
  49. #else
  50. write_srgr()
  51. #endif
  52. {
  53.     short y;
  54.  
  55.     printe("SRGR output; %ld x %ld\n", xsz, ysz);
  56.     wrl((long)RAW_ID);
  57.     wrl(xsz);
  58.     wrl(ysz);
  59.     init_counter(0, (int)ysz, 20, NULL);
  60.     for (y=0; y<ysz; ++y) {
  61.         counter();
  62.         cwrite(rgb[y], xsz*sizeof(u_short));
  63.     }
  64.     erase_counter("SRGR file written, %ld bytes", lseek(outfd, 0L, 1));
  65. }
  66.