1 /* 2 * Motif 3 * 4 * Copyright (c) 1987-2012, The Open Group. All rights reserved. 5 * 6 * These libraries and programs are free software; you can 7 * redistribute them and/or modify them under the terms of the GNU 8 * Lesser General Public License as published by the Free Software 9 * Foundation; either version 2 of the License, or (at your option) 10 * any later version. 11 * 12 * These libraries and programs are distributed in the hope that 13 * they will be useful, but WITHOUT ANY WARRANTY; without even the 14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 15 * PURPOSE. See the GNU Lesser General Public License for more 16 * details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with these librararies and programs; if not, write 20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 21 * Floor, Boston, MA 02110-1301 USA 22 */ 23 #ifndef _XmScreenP_h 24 #define _XmScreenP_h 25 26 #include <Xm/DesktopP.h> 27 #include <Xm/Screen.h> 28 #include <Xm/DragIcon.h> 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 typedef struct _XmScreenClassPart { 35 XtPointer extension; 36 } XmScreenClassPart, *XmScreenClassPartPtr; 37 38 typedef struct _XmScreenClassRec { 39 /* ObjectClassPart object_class; 40 XmExtClassPart ext_class; */ 41 CoreClassPart core_class ; 42 XmDesktopClassPart desktop_class; 43 XmScreenClassPart screen_class; 44 } XmScreenClassRec; 45 46 typedef struct _XmDragCursorRec { 47 struct _XmDragCursorRec *next; 48 Cursor cursor; 49 XmDragIconObject stateIcon; 50 XmDragIconObject opIcon; 51 XmDragIconObject sourceIcon; 52 Boolean dirty; 53 } XmDragCursorRec, *XmDragCursorCache; 54 55 typedef struct _XmScratchPixmapKeyRec *XmScratchPixmapKey; 56 57 typedef struct _XmScratchPixmapKeyRec { 58 Cardinal depth; 59 Dimension width; 60 Dimension height; 61 } XmScratchPixmapKeyRec; 62 63 typedef struct { 64 Boolean mwmPresent; 65 unsigned short numReparented; 66 int darkThreshold; 67 int foregroundThreshold; 68 int lightThreshold; 69 XmDragIconObject defaultNoneCursorIcon; 70 XmDragIconObject defaultValidCursorIcon; 71 XmDragIconObject defaultInvalidCursorIcon; 72 XmDragIconObject defaultMoveCursorIcon; 73 XmDragIconObject defaultCopyCursorIcon; 74 XmDragIconObject defaultLinkCursorIcon; 75 XmDragIconObject defaultSourceCursorIcon; 76 77 Cursor nullCursor; 78 XmDragCursorRec *cursorCache; 79 Cardinal maxCursorWidth; 80 Cardinal maxCursorHeight; 81 82 Cursor menuCursor; 83 unsigned char unpostBehavior; 84 XFontStruct * font_struct; 85 int h_unit; 86 int v_unit; 87 XtPointer scratchPixmaps; 88 unsigned char moveOpaque; 89 XmScreenColorProc color_calc_proc; 90 XmAllocColorProc color_alloc_proc; 91 XtEnum bitmap_conversion_model; 92 93 /* to save internally-created XmDragIcons */ 94 95 XmDragIconObject xmStateCursorIcon; 96 XmDragIconObject xmMoveCursorIcon; 97 XmDragIconObject xmCopyCursorIcon; 98 XmDragIconObject xmLinkCursorIcon; 99 XmDragIconObject xmSourceCursorIcon; 100 101 GC imageGC; /* OBSOLETE FIELD */ 102 int imageGCDepth; /* OBSOLETE FIELD */ 103 Pixel imageForeground; /* OBSOLETE FIELD */ 104 Pixel imageBackground; /* OBSOLETE FIELD */ 105 106 XtPointer screenInfo; /* extension */ 107 108 XtPointer user_data; 109 110 Pixmap insensitive_stipple_bitmap; 111 112 #ifdef DEFAULT_GLYPH_PIXMAP 113 Pixmap default_glyph_pixmap ; 114 unsigned int default_glyph_pixmap_width ; 115 unsigned int default_glyph_pixmap_height ; 116 #endif 117 118 XtPointer inUsePixmaps; 119 } XmScreenPart, *XmScreenPartPtr; 120 121 typedef struct _XmScreenInfo { 122 /* so much for information hiding */ 123 XtPointer menu_state; /* MenuUtil.c */ 124 Boolean destroyCallbackAdded; /* ImageCache.c */ 125 } XmScreenInfo; 126 127 externalref XmScreenClassRec xmScreenClassRec; 128 129 typedef struct _XmScreenRec { 130 /* ObjectPart object; 131 XmExtPart ext; */ 132 CorePart core ; 133 XmDesktopPart desktop; 134 XmScreenPart screen; 135 } XmScreenRec; 136 137 138 #ifdef __cplusplus 139 } /* Close scope of 'extern "C"' declaration which encloses file. */ 140 #endif 141 142 #endif /* _XmScreenP_h */ 143 /* DON'T ADD STUFF AFTER THIS #endif */ 144