home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / ScreenP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  5.9 KB  |  202 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.3
  7. */ 
  8. /*   $RCSfile: ScreenP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:48:33 $ */
  9. /*
  10. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. /*
  16. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  17. #ifndef _XmScreenP_h
  18. #define _XmScreenP_h
  19.  
  20. #include <Xm/DesktopP.h>
  21. #include <Xm/Screen.h>
  22. #include <Xm/DragIcon.h>
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. typedef struct _XmScreenClassPart{
  29.     XtPointer        extension;
  30. }XmScreenClassPart, *XmScreenClassPartPtr;
  31.  
  32. typedef struct _XmScreenClassRec{
  33.     CoreClassPart        core_class;
  34.     XmDesktopClassPart         desktop_class;
  35.     XmScreenClassPart        screen_class;
  36. }XmScreenClassRec;
  37.  
  38. typedef struct _XmDragCursorRec{
  39.     struct _XmDragCursorRec    *next;
  40.     Cursor            cursor;
  41.     XmDragIconObject        stateIcon;
  42.     XmDragIconObject        opIcon;
  43.     XmDragIconObject        sourceIcon;
  44. }XmDragCursorRec, *XmDragCursorCache;
  45.  
  46. typedef struct _XmScratchPixmapRec *XmScratchPixmap;
  47.  
  48. typedef struct _XmScratchPixmapRec{
  49.     XmScratchPixmap     next;
  50.     Pixmap              pixmap;
  51.     Cardinal        depth;
  52.     Dimension           width;
  53.     Dimension           height;
  54.     Boolean             inUse;
  55. }XmScratchPixmapRec;
  56.  
  57. typedef struct {
  58.     Boolean        mwmPresent;
  59.     unsigned short    numReparented;
  60.     int            darkThreshold;
  61.     int            foregroundThreshold;
  62.     int            lightThreshold;
  63.     XmDragIconObject    defaultNoneCursorIcon;
  64.     XmDragIconObject    defaultValidCursorIcon;
  65.     XmDragIconObject    defaultInvalidCursorIcon;
  66.     XmDragIconObject    defaultMoveCursorIcon;
  67.     XmDragIconObject    defaultCopyCursorIcon;
  68.     XmDragIconObject    defaultLinkCursorIcon;
  69.     XmDragIconObject    defaultSourceCursorIcon;
  70.  
  71.     Cursor        nullCursor;
  72.     XmDragCursorRec    *cursorCache;
  73.     Cardinal        maxCursorWidth;
  74.     Cardinal        maxCursorHeight;
  75.  
  76.     Cursor        menuCursor;
  77.     unsigned char    unpostBehavior;
  78.     XFontStruct *    font_struct;
  79.     int            h_unit;
  80.     int            v_unit;
  81.     XmScratchPixmap    scratchPixmaps;
  82.     unsigned char     moveOpaque;
  83.  
  84.     /* to save internally-created XmDragIcons */
  85.  
  86.     XmDragIconObject    xmStateCursorIcon;
  87.     XmDragIconObject    xmMoveCursorIcon;
  88.     XmDragIconObject    xmCopyCursorIcon;
  89.     XmDragIconObject    xmLinkCursorIcon;
  90.     XmDragIconObject    xmSourceCursorIcon;
  91.  
  92.     GC            imageGC;        /* ImageCache.c */
  93.     int            imageGCDepth;
  94.     Pixel        imageForeground;
  95.     Pixel        imageBackground;
  96.  
  97.     XtPointer        screenInfo;        /* extension */
  98. } XmScreenPart, *XmScreenPartPtr;
  99.  
  100. typedef struct _XmScreenInfo {
  101.     /* so much for information hiding */
  102.     XtPointer    menu_state;        /* MenuUtil.c */
  103.     Boolean        destroyCallbackAdded;    /* ImageCache.c */
  104. } XmScreenInfo;
  105.  
  106. externalref XmScreenClassRec     xmScreenClassRec;
  107.  
  108. typedef struct _XmScreenRec{
  109.     CorePart            core;
  110.     XmDesktopPart        desktop;
  111.     XmScreenPart        screen;
  112. }XmScreenRec;
  113.  
  114. externalref XrmQuark _XmInvalidCursorIconQuark ;
  115. externalref XrmQuark _XmValidCursorIconQuark ;
  116. externalref XrmQuark _XmNoneCursorIconQuark ;
  117. externalref XrmQuark _XmDefaultDragIconQuark ;
  118. externalref XrmQuark _XmMoveCursorIconQuark ;
  119. externalref XrmQuark _XmCopyCursorIconQuark ;
  120. externalref XrmQuark _XmLinkCursorIconQuark ;
  121.  
  122.  
  123. /********    Private Function Declarations    ********/
  124. #ifdef _NO_PROTO
  125.  
  126. extern XmDragIconObject _XmScreenGetOperationIcon() ;
  127. extern XmDragIconObject _XmScreenGetStateIcon() ;
  128. extern XmDragIconObject _XmScreenGetSourceIcon() ;
  129. extern Pixmap _XmAllocScratchPixmap() ;
  130. extern void _XmFreeScratchPixmap() ;
  131. extern XmDragCursorCache * _XmGetDragCursorCachePtr() ;
  132. extern void _XmGetMaxCursorSize() ;
  133. extern Cursor _XmGetNullCursor() ;
  134. extern Cursor _XmGetMenuCursorByScreen() ;
  135. extern Boolean _XmGetMoveOpaqueByScreen() ;
  136. extern unsigned char _XmGetUnpostBehavior() ;
  137. extern int _XmGetFontUnit() ;
  138. extern void _XmScreenRemoveFromCursorCache() ;
  139.  
  140. #else
  141.  
  142. extern XmDragIconObject _XmScreenGetOperationIcon( 
  143.                         Widget w,
  144. #if NeedWidePrototypes
  145.                         unsigned int operation) ;
  146. #else
  147.                         unsigned char operation) ;
  148. #endif /* NeedWidePrototypes */
  149. extern XmDragIconObject _XmScreenGetStateIcon( 
  150.                         Widget w,
  151. #if NeedWidePrototypes
  152.                         unsigned int state) ;
  153. #else
  154.                         unsigned char state) ;
  155. #endif /* NeedWidePrototypes */
  156. extern XmDragIconObject _XmScreenGetSourceIcon( 
  157.                         Widget w) ;
  158. extern Pixmap _XmAllocScratchPixmap( 
  159.                         XmScreen xmScreen,
  160. #if NeedWidePrototypes
  161.                         unsigned int depth,
  162.                         int width,
  163.                         int height) ;
  164. #else
  165.                         Cardinal depth,
  166.                         Dimension width,
  167.                         Dimension height) ;
  168. #endif /* NeedWidePrototypes */
  169. extern void _XmFreeScratchPixmap( 
  170.                         XmScreen xmScreen,
  171.                         Pixmap pixmap) ;
  172. extern XmDragCursorCache * _XmGetDragCursorCachePtr( 
  173.                         XmScreen xmScreen) ;
  174. extern void _XmGetMaxCursorSize( 
  175.                         Widget w,
  176.                         Dimension *width,
  177.                         Dimension *height) ;
  178. extern Cursor _XmGetNullCursor( 
  179.                         Widget w) ;
  180. extern Cursor _XmGetMenuCursorByScreen( 
  181.                         Screen *screen) ;
  182. extern Boolean _XmGetMoveOpaqueByScreen( 
  183.                         Screen *screen) ;
  184. extern unsigned char _XmGetUnpostBehavior( 
  185.                         Widget wid) ;
  186. extern int _XmGetFontUnit( 
  187.                         Screen *screen,
  188.                         int dimension) ;
  189. extern void _XmScreenRemoveFromCursorCache(
  190.             XmDragIconObject icon) ;
  191.  
  192. #endif /* _NO_PROTO */
  193. /********    End Private Function Declarations    ********/
  194.  
  195.  
  196. #ifdef __cplusplus
  197. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  198. #endif
  199.  
  200. #endif /* _XmScreenP_h */
  201. /* DON'T ADD STUFF AFTER THIS #endif */
  202.