1 /** 2 * 3 * $Id: DragOverSP.h,v 1.1 2004/08/28 19:23:25 dannybackx Exp $ 4 * 5 * Copyright (C) 1995 Free Software Foundation, Inc. 6 * Copyright (C) 1995-2000 LessTif Development Team 7 * 8 * This file is part of the GNU LessTif Library. 9 * 10 * This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU Library General Public 12 * License as published by the Free Software Foundation; either 13 * version 2 of the License, or (at your option) any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * Library General Public License for more details. 19 * 20 * You should have received a copy of the GNU Library General Public 21 * License along with this library; if not, write to the Free 22 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23 * 24 **/ 25 26 #ifndef _XM_DRAGOVERSP_H 27 #define _XM_DRAGOVERSP_H 28 29 #include <X11/Shell.h> 30 #include <X11/ShellP.h> 31 #include <Xm/XmP.h> 32 #include <Xm/DragIconP.h> 33 #include <Xm/DragOverS.h> 34 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 #define DOExpose(do) \ 40 ((XtClass(do))->core_class.expose) ((Widget)(do), NULL, NULL) 41 42 typedef struct { 43 XtPointer extension; 44 } XmDragOverShellClassPart; 45 46 typedef struct _XmDragOverShellClassRec { 47 CoreClassPart core_class; 48 CompositeClassPart composite_class; 49 ShellClassPart shell_class; 50 WMShellClassPart wm_shell_class; 51 VendorShellClassPart vendor_shell_class; 52 XmDragOverShellClassPart dragOver_shell_class; 53 } XmDragOverShellClassRec; 54 55 XMLIBEXPORT extern XmDragOverShellClassRec xmDragOverShellClassRec; 56 57 typedef struct _XmBackingRec { 58 Position x, y; 59 Pixmap pixmap; 60 } XmBackingRec, *XmBacking; 61 62 typedef struct _XmDragOverBlendRec { 63 XmDragIconObject sourceIcon; /* source icon */ 64 Position sourceX; /* source location x in blend */ 65 Position sourceY; /* source location y in blend */ 66 XmDragIconObject mixedIcon; /* blended icon */ 67 GC gc; /* blend tool (remember right depth) */ 68 } XmDragOverBlendRec, *XmDragOverBlend; 69 70 typedef struct _XmDragOverShellPart { 71 Position hotX; /* current hotx */ 72 Position hotY; /* current hoty */ 73 unsigned char cursorState; /* current cursor state */ 74 unsigned char mode; /* XmWINDOW, XmPIXMAP, XmCURSOR */ 75 unsigned char activeMode; /* XmWINDOW, XmPIXMAP, XmCURSOR */ 76 77 Position initialX; /* initial hotx */ 78 Position initialY; /* initial hoty */ 79 80 XmDragIconObject stateIcon; /* current state icon */ 81 XmDragIconObject opIcon; /* current operation icon */ 82 83 XmDragOverBlendRec cursorBlend; /* cursor blending */ 84 XmDragOverBlendRec rootBlend; /* window or pixmap blending */ 85 Pixel cursorForeground; /* guess */ 86 Pixel cursorBackground; /* guess */ 87 Cursor ncCursor; /* non-cached cursor */ 88 Cursor activeCursor; /* the current cursor */ 89 90 XmBackingRec backing; /* backing store for pixdrag ? */ 91 Pixmap tmpPix; /* temp store for pixdrag ? */ 92 Pixmap tmpBit; /* temp store for pixdrag ? */ 93 Boolean isVisible; /* shell is visible */ 94 } XmDragOverShellPart; 95 96 typedef struct _XmDragOverShellRec { 97 CorePart core; 98 CompositePart composite; 99 ShellPart shell; 100 WMShellPart wm; 101 VendorShellPart vendor; 102 XmDragOverShellPart drag; 103 } XmDragOverShellRec; 104 105 #ifdef __cplusplus 106 } 107 #endif 108 109 #endif /* _XM_DRAGOVERSP_H */ 110