home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / OS2 / WWWCNT15.ARJ / WWWCNT15 / WWWCNT15.ZIP / combine / combine.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-13  |  5.3 KB  |  356 lines

  1. /*
  2.  *    combine.h    -    Header file for combine librarly
  3.  *
  4.  *    RCS:
  5.  *        $Revision: 1.3 $
  6.  *        $Date: 1995/07/16 17:03:54 $
  7.  *
  8.  *    Security:
  9.  *        Unclassified
  10.  *
  11.  *    Description:
  12.  *        This file contains all necessary definitions, typedefs for
  13.  *        xnitfview program
  14.  *
  15.  *    Dependencies:
  16.  *        None
  17.  *
  18.  *    Comments:
  19.  *        text
  20.  *
  21.  *    Development History:
  22.  *        when    who        why
  23.  *  07-11-95    muquit  first cut
  24.  */
  25.  
  26. #ifndef COMBINE_H
  27. #define COMBINE_H
  28. #include <stdio.h>
  29. #include <stdlib.h>
  30. #include <string.h>
  31. #include <malloc.h>
  32. #include <memory.h>
  33. #include <ctype.h>
  34. #include <string.h>
  35. #include <time.h>
  36. #include <math.h>
  37. #include <signal.h>
  38. #include <sys/types.h>
  39. #include <sys/stat.h>
  40. #include "defines.h"
  41.  
  42. #if __STDC__ || defined(sgi) || defined(_AIX)
  43. #define _FD(formal_parameters) formal_parameters
  44. #else
  45. #define    const
  46. #define    _FD(formal_parameters) ()
  47. #endif
  48.  
  49. /*
  50. ** structs
  51. */
  52.  
  53. typedef struct _RectangleInfo
  54. {
  55.     unsigned int
  56.         width,
  57.         height;
  58.  
  59.     int
  60.         x,
  61.         y;
  62. } RectangleInfo;
  63.  
  64. typedef struct _EllipseInfo
  65. {
  66.     int
  67.         line_style;
  68.     int
  69.         line_thickness;
  70.  
  71.     int
  72.         semimajor_axis,
  73.         semiminor_axis;
  74.  
  75.     int
  76.         centerX,
  77.         centerY;
  78.  
  79.     unsigned  int
  80.         fill;
  81.  
  82.     int
  83.         edge_red,
  84.         edge_green,
  85.         edge_blue;
  86.  
  87.     int
  88.         fill_red,
  89.         fill_green,
  90.         fill_blue;
  91.  
  92.      int
  93.         rotation;
  94. } EllipseInfo;
  95.  
  96.  
  97. typedef struct _RGB
  98. {
  99.     unsigned char
  100.         red,
  101.         green,
  102.         blue,
  103.         flags;
  104.  
  105.     unsigned short
  106.         index;
  107. } RGB;
  108.  
  109. typedef struct _Runlength
  110. {
  111.     unsigned char
  112.         red,
  113.         green,
  114.         blue,
  115.         length;
  116.  
  117.     unsigned short
  118.         index;
  119. } Runlength;
  120.  
  121. typedef struct _FrameInfo
  122. {
  123.     int
  124.         x,
  125.         y;
  126.  
  127.     int
  128.         inner_bevel,
  129.         outer_bevel;
  130.  
  131.     unsigned int
  132.         width,
  133.         height;
  134.     RGB
  135.         matte_color,
  136.         highlight_color,
  137.         shadow_color;
  138.  
  139. } FrameInfo;
  140.  
  141. typedef struct _Image
  142. {
  143.     char
  144.         filename[2048];
  145.  
  146.     FILE
  147.         *fp;
  148.  
  149.     RGB
  150.         *colormap;
  151.  
  152.     unsigned int
  153.         colors;
  154.  
  155.     char 
  156.         type[12],
  157.         *comments;
  158.  
  159.     unsigned int
  160.         rows,
  161.         columns,
  162.         xorig,
  163.         yorig,
  164.         id,
  165.         alpha,
  166.         class,
  167.         scene,
  168.         compression;
  169.  
  170.     char
  171.         *signature;
  172.  
  173.     Runlength
  174.         *pixels;
  175.  
  176.     unsigned int
  177.         runlength,
  178.         pack_siz;
  179.  
  180.     unsigned long
  181.         packets;
  182. } Image;
  183.  
  184. typedef struct _Diversity
  185. {
  186.     unsigned char
  187.         red,
  188.         green,
  189.         blue;
  190.  
  191.     unsigned short
  192.         index;
  193.  
  194.     unsigned long
  195.         count;
  196. } Diversity;
  197.  
  198. typedef struct _ImageInfo
  199. {
  200.     char
  201.         filename[256];
  202.  
  203.     unsigned int
  204.         interlace;
  205.  
  206. } ImageInfo;
  207.  
  208. /*
  209. ** font struct from gd library
  210. */
  211.  
  212. typedef struct _gdFont
  213. {
  214.     /*
  215.     ** # of characters in font
  216.     */
  217.     int
  218.         nchars;
  219.     /*
  220.     ** First character is numbered... (usually 32 = space)
  221.     */
  222.     int
  223.         offset;
  224.     /*
  225.     ** Character width and height
  226.     */
  227.     int
  228.         w;
  229.     int
  230.         h;
  231.     /*
  232.     ** Font data; array of characters, one row after another.
  233.     ** Easily included in code, also easily loaded from
  234.     ** data files.
  235.     */
  236.     char
  237.         *data;
  238. } gdFont;
  239.  
  240. typedef gdFont
  241.     *gdFontPtr;
  242.  
  243. typedef struct _SFontInfo
  244. {
  245.     unsigned int
  246.         do_bg;
  247.  
  248.     unsigned char
  249.         fgr,
  250.         fgg,
  251.         fgb;
  252.  
  253.     unsigned char
  254.         bgr,
  255.         bgg,
  256.         bgb;
  257.  
  258. } SFontInfo;
  259. /*
  260. ** forward declaration
  261. */
  262.  
  263. Image
  264.     *CreateBaseImage _FD ((unsigned int, unsigned int, int, int, int,
  265.         unsigned int));
  266.  
  267. void 
  268.     FlattenImage _FD ((Image *, Image *, unsigned int, int, int));
  269.  
  270. void
  271.     ColormapSignature _FD ((Image *));
  272.  
  273. Image
  274.     *AllocateImageStruct _FD((void));
  275.  
  276. void
  277.     DestroyAnyImageStruct _FD ((Image **));
  278.  
  279. int
  280.     Read_Data _FD ((char *, int, int, FILE *));
  281.  
  282. int
  283.     ReadDataBlock _FD ((char *, FILE *));
  284.  
  285. int
  286.     LZWDecodeImage _FD ((Image *));
  287.  
  288. void
  289.     SyncImage _FD ((Image *));
  290.  
  291. Image
  292.     *DuplicateImage _FD ((Image *, unsigned int, unsigned int, unsigned int));
  293.  
  294. int
  295.     WriteGIFImage _FD ((Image *, char *));
  296.  
  297. void
  298.     LSBFirstWriteShort _FD ((unsigned int, FILE *));
  299.  
  300. unsigned int
  301.     LZWEncodeImage _FD ((Image *, unsigned int));
  302.  
  303. unsigned int
  304.     UncompressImage _FD ((Image *));
  305.  
  306. Image
  307.     *ReadImage _FD ((char *));
  308.  
  309. int
  310.     ReadGIFImage _FD ((Image *));
  311.  
  312. Image
  313.     *CombineImages _FD ((char *,unsigned int, unsigned int));
  314.  
  315. void
  316.     CompressImage _FD ((Image *));
  317.  
  318. void
  319.     QuantizeImage _FD ((Image *, unsigned int, unsigned int, unsigned int,
  320.         unsigned int, unsigned int));
  321.  
  322. void
  323.     RGBTransformImage _FD ((Image *, unsigned int));
  324.  
  325. void
  326.     TransformRGBImage _FD ((Image *, unsigned int));
  327.  
  328. void
  329.     CompressColormap _FD ((Image *));
  330.  
  331. void
  332.     Fputc _FD ((char, FILE *));
  333.  
  334. Image
  335.     *FrameImage _FD((Image *, FrameInfo *));
  336.  
  337. void
  338.     XModulate _FD((RGB *, unsigned char, unsigned char, unsigned char, int));
  339.  
  340. void
  341.     AlphaImage _FD((Image *, unsigned char, unsigned char, unsigned char));
  342.  
  343. void
  344.     GetFrameInfo _FD ((unsigned int, unsigned int, FrameInfo *));
  345.  
  346. void
  347.     ImageString _FD ((Image *, gdFontPtr, int, int, char *, SFontInfo *));
  348.  
  349. void
  350.     ImaegChar _FD ((Image *, gdFontPtr, int, int, char, SFontInfo));
  351.  
  352. void
  353.     SetPixel _FD ((Image *,int, int,SFontInfo *,unsigned int));
  354.  
  355. #endif /* COMBINE_H */
  356.