Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:25

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 #ifndef _XmDropSMgr_h
0024 #define _XmDropSMgr_h
0025 
0026 #include <Xm/Xm.h>
0027 #include <Xm/DragC.h>
0028 
0029 #ifdef __cplusplus
0030 extern "C" {
0031 #endif
0032 
0033 
0034 #define XmCR_DROP_SITE_LEAVE_MESSAGE  1
0035 #define XmCR_DROP_SITE_ENTER_MESSAGE  2
0036 #define XmCR_DROP_SITE_MOTION_MESSAGE 3
0037 #define XmCR_DROP_MESSAGE             4
0038 
0039 #define XmNO_DROP_SITE      1
0040 #define XmINVALID_DROP_SITE 2
0041 #define XmVALID_DROP_SITE   3
0042 
0043 /* begin fix for CR 5754 */
0044 /* documented values are XmDROP_SITE_VALID and XmDROP_SITE_INVALID.
0045    However, we can't just throw out the incorrect Xm[IN]VALID_DROP_SITE
0046    now since people have probably started using them. Instead, we just
0047    define the correct values using the incorrect ones.
0048 */
0049 
0050 #define XmDROP_SITE_INVALID XmINVALID_DROP_SITE
0051 #define XmDROP_SITE_VALID XmVALID_DROP_SITE
0052 
0053 /* end fix for CR 5754 */
0054 
0055 enum { XmDRAG_UNDER_NONE, XmDRAG_UNDER_PIXMAP,
0056     XmDRAG_UNDER_SHADOW_IN, XmDRAG_UNDER_SHADOW_OUT,
0057     XmDRAG_UNDER_HIGHLIGHT };
0058 
0059 enum { XmDROP_SITE_SIMPLE, XmDROP_SITE_COMPOSITE,
0060     XmDROP_SITE_SIMPLE_CLIP_ONLY = 128,
0061     XmDROP_SITE_COMPOSITE_CLIP_ONLY };
0062 
0063 enum { XmABOVE, XmBELOW };
0064 
0065 enum { XmDROP_SITE_ACTIVE, XmDROP_SITE_INACTIVE, XmDROP_SITE_IGNORE };
0066 
0067 typedef struct _XmDragProcCallbackStruct {
0068     int             reason;
0069     XEvent *        event;
0070     Time            timeStamp;
0071     Widget          dragContext;
0072     Position        x, y;
0073     unsigned char   dropSiteStatus;
0074     unsigned char   operation;
0075     unsigned char   operations;
0076     Boolean         animate;
0077 } XmDragProcCallbackStruct, * XmDragProcCallback;
0078 
0079 typedef struct _XmDropProcCallbackStruct {
0080     int             reason;
0081     XEvent *        event;
0082     Time            timeStamp;
0083     Widget          dragContext;
0084     Position        x, y;
0085     unsigned char   dropSiteStatus;
0086     unsigned char   operation;
0087     unsigned char   operations;
0088     unsigned char   dropAction;
0089 } XmDropProcCallbackStruct, * XmDropProcCallback;
0090 
0091 
0092 typedef struct _XmDropSiteVisualsRec {
0093     Pixel   background;
0094     Pixel   foreground;
0095     Pixel   topShadowColor;
0096     Pixmap  topShadowPixmap;
0097     Pixel   bottomShadowColor;
0098     Pixmap  bottomShadowPixmap;
0099     Dimension   shadowThickness;
0100     Pixel   highlightColor;
0101     Pixmap  highlightPixmap;
0102     Dimension   highlightThickness;
0103     Dimension   borderWidth;
0104 } XmDropSiteVisualsRec, * XmDropSiteVisuals;
0105 
0106 
0107 /* DropSite Widget */
0108 
0109 externalref WidgetClass xmDropSiteManagerObjectClass;
0110 
0111 typedef struct _XmDropSiteManagerClassRec *XmDropSiteManagerObjectClass;
0112 typedef struct _XmDropSiteManagerRec *XmDropSiteManagerObject;
0113 
0114 #ifndef XmIsDropSiteManager
0115 #define XmIsDropSiteManager(w)  XtIsSubclass((w), xmDropSiteManagerObjectClass)
0116 #endif /* XmIsDropSite */
0117 
0118 /********    Public Function Declarations    ********/
0119 
0120 extern void XmDropSiteRegister( 
0121                         Widget widget,
0122                         ArgList args,
0123                         Cardinal argCount) ;
0124 extern void XmDropSiteUnregister( 
0125                         Widget widget) ;
0126 extern Boolean XmDropSiteRegistered(
0127                           Widget widget) ;
0128 extern void XmDropSiteStartUpdate( 
0129                         Widget refWidget) ;
0130 extern void XmDropSiteUpdate( 
0131                         Widget enclosingWidget,
0132                         ArgList args,
0133                         Cardinal argCount) ;
0134 extern void XmDropSiteEndUpdate( 
0135                         Widget refWidget) ;
0136 extern void XmDropSiteRetrieve( 
0137                         Widget enclosingWidget,
0138                         ArgList args,
0139                         Cardinal argCount) ;
0140 extern int XmDropSiteQueryStackingOrder( 
0141                         Widget widget,
0142                         Widget *parent_rtn,
0143                         Widget **children_rtn,
0144                         Cardinal *num_children_rtn) ;
0145 extern void XmDropSiteConfigureStackingOrder( 
0146                         Widget widget,
0147                         Widget sibling,
0148                         Cardinal stack_mode) ;
0149 extern XmDropSiteVisuals XmDropSiteGetActiveVisuals( 
0150                         Widget widget) ;
0151 
0152 /********    End Public Function Declarations    ********/
0153 
0154 #ifdef __cplusplus
0155 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0156 #endif
0157 
0158 #endif /* _XmDropSMgr_h */
0159 /* DON'T ADD ANYTHING AFTER THIS #endif */