/*

Include file containing the version of XGLOBALS that the C library
routines must use.  This cannot be generated from a FORTRAN include file
because it contains special X-Windows defined types.  A loose FORTRAN
version of this structure can be found in XGLOBALS.INC.  It matches all
of the fields in size and name, if not in specific type.

  $Revision: 1.2 $
  $Modtime:   01/04/96 10:51:42  $

  Version: $Id: xglobals.h,v 1.2 2009/08/11 00:25:53 ntn Exp $
*/

#ifndef _XGLOBALS_H
#define _XGLOBALS_H

#include <X11/Xlib.h> /* X11 library - Display, Window, etc. */

#define L_xglobals 160
#define L_xzoom 12

typedef struct {

  Display *D;		/* Display id */
  Window  W;		/* Window id */
  int     S;		/* Screen id */
  int     depth;	/* depth of the screen */
  Screen  *S_ptr;	/* Pointer to screen */
  Colormap C_id;	/* Colormap ID */
  Visual  *visual;	/* Visual info structure */
  GC  	  gcg,gcm;	/* Graphics contexts for color, menus */
  GC	  gcr,gcr2;	/* GC's for rubberband XOR drawing */
  GC  	  gct,gcti;	/* GC's for text & inverted text */
  GC	  gcta,gctw;	/* GC for annotations & widget text */
  XImage  *img_ptr;	/* struct for passing images to server */
  Bool 	  BW;		/* flag for black and white terminal */
  int     cells;	/* Display cells allocated */
  XColor  *color; 	/* array of colors */
  short   *colorp;	/* colormap % values for color array */
  Bool    AutoRepeat;	/* flag indicating desired state of KB autorepeat */
/*+++                                                                       */
/* DR 6547                                                                  */
/* Old                                                                      */
/*  int_4   pad;	 * pad for VMS system psec: sizeof(GC)%8 == 0 *     */
/* New                                                                      */
#if _OSF
  int_1   pad[8];
#else
  int_1   pad[76];
#endif
/*---                                                                       */
} XGLOBALS;

#endif
