Blame lib/Xm/DragC.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/*   $TOG: DragC.h /main/13 1998/02/03 14:56:15 csn $ */
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
/* $TOG: DragC.h /main/13 1998/02/03 14:56:15 csn $ */
Packit b099d7
Packit b099d7
#ifndef _XmDragController_h
Packit b099d7
#define _XmDragController_h
Packit b099d7
Packit b099d7
#include <Xm/Xm.h>
Packit b099d7
#include <Xm/Display.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/* defines for the dragFinish completionStatus field */
Packit b099d7
Packit b099d7
#define XmHELP			2
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Some global stuff that will go into Xm.h
Packit b099d7
 */
Packit b099d7
typedef unsigned int	XmID;
Packit b099d7
Packit b099d7
/***********************************************************************
Packit b099d7
 *
Packit b099d7
 * DragContext
Packit b099d7
 *
Packit b099d7
 ***********************************************************************/
Packit b099d7
Packit b099d7
#ifndef XmIsDragContext
Packit b099d7
#define XmIsDragContext(w) XtIsSubclass(w,xmDragContextClass)
Packit b099d7
#endif /* XmIsDragContext */
Packit b099d7
Packit b099d7
#ifndef _XA_MOTIF_DROP
Packit b099d7
#define _XA_MOTIF_DROP "_MOTIF_DROP"
Packit b099d7
#define _XA_DRAG_FAILURE "_MOTIF_DRAG_FAILURE"
Packit b099d7
#define _XA_DRAG_SUCCESS "_MOTIF_DRAG_SUCCESS"
Packit b099d7
#endif /* _XA_MOTIF_DROP */
Packit b099d7
Packit b099d7
Packit b099d7
/* enums used for the message_type in client messages */
Packit b099d7
Packit b099d7
enum{	XmTOP_LEVEL_ENTER,		XmTOP_LEVEL_LEAVE,
Packit b099d7
	XmDRAG_MOTION,			XmDROP_SITE_ENTER,
Packit b099d7
	XmDROP_SITE_LEAVE,		XmDROP_START,
Packit b099d7
	XmDROP_FINISH,			XmDRAG_DROP_FINISH,
Packit b099d7
	XmOPERATION_CHANGED
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
/* enums for completionStatus */
Packit b099d7
enum{	XmDROP,				XmDROP_HELP,
Packit b099d7
	XmDROP_CANCEL,			XmDROP_INTERRUPT
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
/* values for operation */
Packit b099d7
#define	XmDROP_NOOP	0L
Packit b099d7
#define XmDROP_MOVE 	(1L << 0)
Packit b099d7
#define XmDROP_COPY	(1L << 1)
Packit b099d7
#define XmDROP_LINK	(1L << 2)
Packit b099d7
Packit b099d7
enum{	XmMOVE = XmDROP_MOVE,		XmCOPY = XmDROP_COPY, 
Packit b099d7
	XmLINK = XmDROP_LINK,		XmOTHER
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
enum{	XmBLEND_ALL,			XmBLEND_STATE_SOURCE,
Packit b099d7
	XmBLEND_JUST_SOURCE,		XmBLEND_NONE
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
enum{  	XmDROP_FAILURE,			XmDROP_SUCCESS
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
Packit b099d7
/* enums used for the public callback reason */
Packit b099d7
Packit b099d7
enum{	XmCR_TOP_LEVEL_ENTER,		XmCR_TOP_LEVEL_LEAVE,
Packit b099d7
	XmCR_DRAG_MOTION,		XmCR_DROP_SITE_ENTER,
Packit b099d7
	XmCR_DROP_SITE_LEAVE,		XmCR_DROP_START,
Packit b099d7
	XmCR_DROP_FINISH,		XmCR_DRAG_DROP_FINISH,
Packit b099d7
	XmCR_OPERATION_CHANGED,
Packit b099d7
Packit b099d7
	_XmNUMBER_DND_CB_REASONS
Packit b099d7
	} ;
Packit b099d7
Packit b099d7
Packit b099d7
/* Class record constants */
Packit b099d7
typedef struct _XmDragContextClassRec	*XmDragContextClass;
Packit b099d7
typedef struct _XmDragContextRec	*XmDragContext;
Packit b099d7
externalref WidgetClass xmDragContextClass;
Packit b099d7
Packit b099d7
typedef struct _XmAnyICCCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
}XmAnyICCCallbackStruct, *XmAnyICCCallback;
Packit b099d7
Packit b099d7
typedef struct _XmTopLevelEnterCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    Screen		*screen;
Packit b099d7
    /*
Packit b099d7
     * the window field is different if this is an outbound or inbound
Packit b099d7
     * callback. Outbound == reciever, Inbound == initiator.
Packit b099d7
     */
Packit b099d7
    Window		window;
Packit b099d7
    Position		x, y;
Packit b099d7
    unsigned char	dragProtocolStyle;
Packit b099d7
    Atom		iccHandle;
Packit b099d7
}XmTopLevelEnterCallbackStruct, *XmTopLevelEnterCallback;
Packit b099d7
Packit b099d7
typedef struct _XmTopLevelLeaveCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    Screen		*screen;
Packit b099d7
    Window		window;
Packit b099d7
}XmTopLevelLeaveCallbackStruct, *XmTopLevelLeaveCallback;
Packit b099d7
Packit b099d7
/* 
Packit b099d7
 * this message is sent from the receiver to the initiator to
Packit b099d7
 * indicate that the motion message with the associated timestamp has
Packit b099d7
 * caused a drop-site to be entered
Packit b099d7
 */
Packit b099d7
typedef struct _XmDropSiteEnterCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    unsigned char	operation;
Packit b099d7
    unsigned char	operations;
Packit b099d7
    unsigned char	dropSiteStatus;
Packit b099d7
    Position		x, y;
Packit b099d7
}XmDropSiteEnterCallbackStruct, *XmDropSiteEnterCallback;
Packit b099d7
Packit b099d7
/* 
Packit b099d7
 * this message is sent from the receiver to the initiator to
Packit b099d7
 * indicate that the motion message with the associated timestamp has
Packit b099d7
 * caused a drop-site to be left
Packit b099d7
 */
Packit b099d7
typedef struct _XmDropSiteLeaveCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
}XmDropSiteLeaveCallbackStruct, *XmDropSiteLeaveCallback;
Packit b099d7
Packit b099d7
typedef struct _XmDragMotionCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    unsigned char	operation;
Packit b099d7
    unsigned char	operations;
Packit b099d7
    unsigned char	dropSiteStatus;
Packit b099d7
    Position		x, y;
Packit b099d7
}XmDragMotionCallbackStruct, *XmDragMotionCallback;
Packit b099d7
Packit b099d7
typedef struct _XmOperationChangedCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    unsigned char	operation;
Packit b099d7
    unsigned char	operations;
Packit b099d7
    unsigned char	dropSiteStatus;
Packit b099d7
}XmOperationChangedCallbackStruct, *XmOperationChangedCallback;
Packit b099d7
Packit b099d7
typedef struct _XmDropStartCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    unsigned char	operation;
Packit b099d7
    unsigned char	operations;
Packit b099d7
    unsigned char	dropSiteStatus;
Packit b099d7
    unsigned char	dropAction;
Packit b099d7
    Position		x, y;
Packit b099d7
    Window		window;
Packit b099d7
    Atom		iccHandle;
Packit b099d7
}XmDropStartCallbackStruct, *XmDropStartCallback;
Packit b099d7
Packit b099d7
typedef struct _XmDropFinishCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
    unsigned char	operation;
Packit b099d7
    unsigned char	operations;
Packit b099d7
    unsigned char	dropSiteStatus;
Packit b099d7
    unsigned char	dropAction;
Packit b099d7
    unsigned char	completionStatus;
Packit b099d7
}XmDropFinishCallbackStruct, *XmDropFinishCallback;
Packit b099d7
Packit b099d7
typedef struct _XmDragDropFinishCallbackStruct{
Packit b099d7
    int          	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Time            	timeStamp;
Packit b099d7
}XmDragDropFinishCallbackStruct, *XmDragDropFinishCallback;
Packit b099d7
Packit b099d7
Packit b099d7
/********    Public Function Declarations    ********/
Packit b099d7
Packit b099d7
extern Widget XmDragStart( 
Packit b099d7
                        Widget w,
Packit b099d7
                        XEvent *event,
Packit b099d7
                        ArgList args,
Packit b099d7
                        Cardinal numArgs) ;
Packit b099d7
extern void XmDragCancel( 
Packit b099d7
                        Widget dragContext) ;
Packit b099d7
extern Boolean XmTargetsAreCompatible( 
Packit b099d7
                        Display *dpy,
Packit b099d7
                        Atom *exportTargets,
Packit b099d7
                        Cardinal numExportTargets,
Packit b099d7
                        Atom *importTargets,
Packit b099d7
                        Cardinal numImportTargets) ;
Packit b099d7
Packit b099d7
/********    End Public Function Declarations    ********/
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _DragController_h */
Packit b099d7
/* DON'T ADD STUFF AFTER THIS #endif */