home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / server / ddx / ibm / common / ibmScreen.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-21  |  3.7 KB  |  107 lines

  1. /*
  2.  * $XConsortium: ibmScreen.h,v 1.3 91/09/09 13:23:39 rws Exp $
  3.  *
  4.  * Copyright IBM Corporation 1987,1988,1989,1990,1991
  5.  *
  6.  * All Rights Reserved
  7.  *
  8.  * License to use, copy, modify, and distribute this software and its
  9.  * documentation for any purpose and without fee is hereby granted,
  10.  * provided that the above copyright notice appear in all copies and that
  11.  * both that copyright notice and this permission notice appear in
  12.  * supporting documentation, and that the name of IBM not be
  13.  * used in advertising or publicity pertaining to distribution of the
  14.  * software without specific, written prior permission.
  15.  *
  16.  * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  17.  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS, AND 
  18.  * NONINFRINGEMENT OF THIRD PARTY RIGHTS, IN NO EVENT SHALL
  19.  * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  20.  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21.  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  22.  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  23.  * SOFTWARE.
  24.  *
  25. */
  26.  
  27. #ifndef IBMSCREEN_H
  28. #define IBMSCREEN_H
  29.  
  30.     /*
  31.      * IBM specific, per-screen information
  32.      */
  33.  
  34. typedef struct IBMPERSCRINFO {
  35.     BoxRec         ibm_ScreenBounds;
  36.  
  37.     int         ibm_NumFormats;
  38.     PixmapFormatRec    *ibm_ScreenFormats;
  39.  
  40.     Bool        (*ibm_InitFunc)();
  41.     int        (*ibm_ProbeFunc)(); /* returns file descriptor */
  42.     void        (*ibm_HideCursor)();
  43.  
  44.     char         *ibm_ScreenFlag;
  45.     char         *ibm_ScreenDevice;
  46.     char         *ibm_ScreenPointer;
  47.     void        (*ibm_SaveFunc)();
  48.     void        (*ibm_RestoreFunc)();
  49.  
  50.     ScreenPtr      ibm_Screen;
  51.  
  52.     int          ibm_ScreenFD;
  53.  
  54.     int          ibm_Wanted;
  55.  
  56.     short          ibm_CursorHotX;
  57.     short          ibm_CursorHotY;
  58.     void        (*ibm_CursorShow)();
  59.     CursorPtr      ibm_CurrentCursor;
  60.     int          ibm_ScreenState ;
  61.     unsigned      ibm_DeviceID;
  62. } ibmPerScreenInfo;
  63.  
  64. #define SCREEN_UNINITIALIZED    0
  65. #define    SCREEN_INACTIVE        1
  66. #define    SCREEN_ACTIVE        2
  67.  
  68. #define    ibmScreenBounds(n)    (&ibmScreens[(n)]->ibm_ScreenBounds)
  69. #define    ibmScreenMinX(n)    (ibmScreenBounds(n)->x1)
  70. #define    ibmScreenMinY(n)    (ibmScreenBounds(n)->y1)
  71. #define    ibmScreenMaxX(n)    (ibmScreenBounds(n)->x2)
  72. #define    ibmScreenMaxY(n)    (ibmScreenBounds(n)->y2)
  73. #define    ibmNumFormats(n)    (ibmScreens[(n)]->ibm_NumFormats)
  74. #define    ibmScreenFormats(n)    (ibmScreens[(n)]->ibm_ScreenFormats)
  75. #define    ibmScreenInit(n)    (ibmScreens[(n)]->ibm_InitFunc)
  76. #define    ibmHideCursor(n)    (ibmScreens[(n)]->ibm_HideCursor)
  77. #define    ibmScreenFlag(n)    (ibmScreens[(n)]->ibm_ScreenFlag)
  78. #define    ibmScreenDevice(n)    (ibmScreens[(n)]->ibm_ScreenDevice)
  79. #define    ibmScreenPointer(n)    (ibmScreens[(n)]->ibm_ScreenPointer)
  80. #define    ibmScreenFD(n)        (ibmScreens[(n)]->ibm_ScreenFD)
  81. #define    ibmCursorHotX(n)    (ibmScreens[(n)]->ibm_CursorHotX)
  82. #define    ibmCursorHotY(n)    (ibmScreens[(n)]->ibm_CursorHotY)
  83. #define    ibmCursorShow(n)    (ibmScreens[(n)]->ibm_CursorShow)
  84. #define    ibmCurrentCursor(n)    (ibmScreens[(n)]->ibm_CurrentCursor)
  85. #define    ibmScreen(n)        (ibmScreens[(n)]->ibm_Screen)
  86. #define    ibmScreenState(n)    (ibmScreens[(n)]->ibm_ScreenState)
  87. #define    ibmSetScreenState(n,s)    (ibmScreens[(n)]->ibm_ScreenState=(s))
  88. #define    ibmDeviceID(n)        (ibmScreens[(n)]->ibm_DeviceID)
  89.  
  90. /* Macro Calls For Dynamically changing the screen set */
  91. #define    ibmSaveScreenInfo(n)    (* ibmScreens[(n)]->ibm_SaveFunc)(n)
  92. #define    ibmRestoreScreenInfo(n)    (* ibmScreens[(n)]->ibm_RestoreFunc)(n)
  93.  
  94. extern    int         ibmSaveScreen();
  95. extern    ibmPerScreenInfo *ibmPossibleScreens[];
  96. extern    ibmPerScreenInfo *ibmScreens[MAXSCREENS];
  97. extern    int         ibmNumScreens;
  98. extern    int         ibmXWrapScreen;
  99. extern    int         ibmYWrapScreen;
  100. extern    int         ibmCurrentScreen;
  101. extern    int         ibmUseHardware;
  102. extern  char         *ibmWhitePixelText;
  103. extern  char         *ibmBlackPixelText;
  104. extern  Bool         ibmDontZap;
  105.  
  106. #endif /* IBMSCREEN_H */
  107.