home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / software / unix / saoimage / sao1_07.tar / hfiles / magnify.h < prev    next >
C/C++ Source or Header  |  1990-04-19  |  3KB  |  68 lines

  1. #ifndef lint
  2. static char SccsMagnifyId[] = "%W%  %G%";
  3. #endif
  4.  
  5. /* Module:    Magnify.h
  6.  * Purpose:    Quick access list of parameters for the magnifier window
  7.  * Modified:    {0} Michael VanHilst    initial version          6 June 1989
  8.  *        {n} <who> -- <does what> -- <when>
  9.  */
  10.  
  11. struct magRec {
  12.   struct {
  13.     Display *display;        /* display for magnibox */
  14.     Window ID;            /* magnibox drawable */
  15.     int x, y;            /* drawing position in magnibox */
  16.     int width, height;        /* drawing dimensions of magnibox */
  17.   } win;
  18.   struct {
  19.     short *shortbuf;        /* pointer at image data buffer */
  20.     int width;            /* width of image data buffer */
  21.     float X, Y;            /* most recent magnified coordinates */
  22.     float X1lim;        /* min value of bufx to catch any data */
  23.     float X2lim;        /* max value of bufx to catch any data */
  24.     float X2bdr;        /* max value of bufx before showing edge */
  25.     float Y1lim;        /* min value of bufy to catch any data */
  26.     float Y2lim;        /* max value of bufy to catch any data */
  27.     float Y2bdr;        /* max value of bufy before showing edge */
  28.     float Xcen;            /* left edge to hot spot in buf coords */
  29.     float Ycen;            /* top edge to hot spot in buf coords */
  30.   } buf;
  31.   int view;            /* turn on magnifier tracking */
  32.   int label;            /* turn on label tracking */ 
  33.   XImage *image;        /* X image drawing structure */
  34.   GCspec *gcset_disp;        /* GC values for image drawing */
  35.   GCspec *gcset_aim;        /* for aim mark foreground and background */
  36.   GCspec *gcset_label;        /* for the text label */
  37.   int data_size;        /* buffer size */
  38.   char *data;            /* drawing image buffer (image->data) */
  39.   int data_x_hot, data_y_hot;    /* coords of hot spot in data */
  40.   unsigned char *lookup;    /* signed indexing pointer at scalemap */
  41.   int halftone;            /* flag if halftone display */
  42.   int magnify;            /* disp to magnibox zoom */
  43.   int zoom_rep;            /* 1/blocking factor buffer to magnibox */
  44.   int bytes_per_line;        /* num of shorts in one row of bitmap */
  45.   int inverse;            /* dithering positive or inverse color */
  46.   int bitmap_size;        /* number of bytes used for bitmap */
  47.   short *matrix;        /* dithering matrix (16x16) */
  48.   short *matrix_end;        /* first element beyond end of matrix */
  49.   struct {
  50.     int x_x, y_x, val_x;    /* x coord for x & y coords and val */
  51.     int y;            /* y coord of x,y,val string */
  52.     int proportional;        /* flag that font is proportional */
  53.     int width;            /* width of entire string */
  54.     int space;            /* width of one character */
  55.     int dot;
  56.     int dash;
  57.     int e;
  58.     int x_xoff;            /* offset from left to beginning of string */
  59.     int y_xoff, val_xoff;    /* offsets from x to next two numbers */
  60.     int yoff;            /* y offset from bottom */
  61.     XFontStruct *fontstruct;    /* font info for measuring drawing text */
  62.     Font font;
  63.     unsigned long foreground;    /* text drawing colors */
  64.     unsigned long background;
  65.     int numsz[10];
  66.   } text;
  67. };
  68.