Blame lib/Xm/DragCI.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
/* $XConsortium: DragCI.h /main/10 1995/07/14 10:22:36 drk $ */
Packit b099d7
/* (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmDragCI_h
Packit b099d7
#define _XmDragCI_h
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
#include <Xm/DragCP.h>
Packit b099d7
#include <Xm/DragIconP.h>
Packit b099d7
#include <Xm/DropSMgrP.h>
Packit b099d7
#include <Xm/DisplayP.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define _XmDragStart(dc, srcW, event) \
Packit b099d7
  ((*((XmDragContextClass)XtClass(dc))->drag_class.start) (dc, srcW, event))
Packit b099d7
Packit b099d7
#define _XmDragCancel(dc) \
Packit b099d7
  ((*((XmDragContextClass)XtClass(dc))->drag_class.cancel) (dc))
Packit b099d7
Packit b099d7
#define _XmDCtoDD(dc)	((XmDisplay)XtParent(dc))
Packit b099d7
Packit b099d7
#define _XmDRAG_MASK_BASE \
Packit b099d7
	(ButtonPressMask | ButtonReleaseMask | ButtonMotionMask)
Packit b099d7
#ifdef DRAG_USE_MOTION_HINTS
Packit b099d7
#define _XmDRAG_GRAB_MASK \
Packit b099d7
	(_XmDRAG_MASK_BASE PointerMotionHintMask)
Packit b099d7
#else
Packit b099d7
#define _XmDRAG_GRAB_MASK _XmDRAG_MASK_BASE
Packit b099d7
#endif /* _XmDRAG_USE_MOTION_HINTS */
Packit b099d7
Packit b099d7
#define _XmDRAG_EVENT_MASK(dc) \
Packit b099d7
  ((((XmDragContext)dc)->drag.trackingMode == XmDRAG_TRACK_WM_QUERY) \
Packit b099d7
   ? (_XmDRAG_GRAB_MASK | EnterWindowMask | LeaveWindowMask) \
Packit b099d7
   : (_XmDRAG_GRAB_MASK))
Packit b099d7
Packit b099d7
enum{	XmCR_DROP_SITE_TREE_ADD = _XmNUMBER_DND_CB_REASONS,
Packit b099d7
	XmCR_DROP_SITE_TREE_REMOVE
Packit b099d7
	} ;
Packit b099d7
/*
Packit b099d7
 *  values for dragTrackingMode 
Packit b099d7
 */
Packit b099d7
enum { 
Packit b099d7
  XmDRAG_TRACK_WM_QUERY, XmDRAG_TRACK_MOTION, XmDRAG_TRACK_WM_QUERY_PENDING
Packit b099d7
};
Packit b099d7
Packit b099d7
Packit b099d7
/* Strings to use for the intern atoms */
Packit b099d7
typedef String	XmCanonicalString;
Packit b099d7
Packit b099d7
#define XmMakeCanonicalString( s) \
Packit b099d7
	(XmCanonicalString) XrmQuarkToString(XrmStringToQuark(s))
Packit b099d7
Packit b099d7
#define _XmAllocAndCopy( data, len) \
Packit b099d7
	memcpy((XtPointer) XtMalloc(len), (XtPointer)(data), (len))
Packit b099d7
Packit b099d7
Packit b099d7
typedef struct _XmDragTopLevelClientDataStruct{
Packit b099d7
    Widget	destShell;
Packit b099d7
    Position	xOrigin, yOrigin;
Packit b099d7
	Dimension	width, height;
Packit b099d7
    XtPointer	iccInfo;
Packit b099d7
    Boolean	sourceIsExternal;
Packit b099d7
	Window	window;
Packit b099d7
	Widget	dragOver;
Packit b099d7
} XmDragTopLevelClientDataStruct, *XmDragTopLevelClientData;
Packit b099d7
Packit b099d7
typedef struct _XmDragMotionClientDataStruct{
Packit b099d7
    Window	window;
Packit b099d7
    Widget	dragOver;
Packit b099d7
} XmDragMotionClientDataStruct, *XmDragMotionClientData;
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * dsm to dragDisplay comm
Packit b099d7
 */
Packit b099d7
/* Move to DropSMgrI.h */
Packit b099d7
typedef struct _XmDropSiteTreeAddCallbackStruct{
Packit b099d7
    int		    	reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Widget		rootShell;
Packit b099d7
    Cardinal		numDropSites;
Packit b099d7
    Cardinal		numArgsPerDSHint;
Packit b099d7
} XmDropSiteTreeAddCallbackStruct, *XmDropSiteTreeAddCallback;
Packit b099d7
Packit b099d7
/* Move to DropSMgrI.h */
Packit b099d7
typedef struct _XmDropSiteTreeRemoveCallbackStruct{
Packit b099d7
    int			reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Widget		rootShell;
Packit b099d7
} XmDropSiteTreeRemoveCallbackStruct, *XmDropSiteTreeRemoveCallback;
Packit b099d7
Packit b099d7
/* Move to DropSMgrI.h */
Packit b099d7
typedef struct _XmDropSiteTreeUpdateCallbackStruct{
Packit b099d7
    int			reason;
Packit b099d7
    XEvent          	*event;
Packit b099d7
    Widget		rootShell;
Packit b099d7
    Cardinal		numDropSites;
Packit b099d7
    Cardinal		numArgsPerDSHint;
Packit b099d7
} XmDropSiteTreeUpdateCallbackStruct, *XmDropSiteTreeUpdateCallback;
Packit b099d7
Packit b099d7
typedef struct _XmDropSiteEnterPendingCallbackStruct{
Packit b099d7
    int                 reason;
Packit b099d7
    XEvent              *event;
Packit b099d7
    Time                timeStamp;
Packit b099d7
    Boolean		enter_pending;
Packit b099d7
} XmDropSiteEnterPendingCallbackStruct, *XmDropSiteEnterPendingCallback;
Packit b099d7
Packit b099d7
/* Move to DropSMgrI.h */
Packit b099d7
typedef struct _XmAnimationData {
Packit b099d7
    Widget		dragOver;
Packit b099d7
    Window		window;
Packit b099d7
    Position		windowX, windowY;
Packit b099d7
    Screen		*screen;
Packit b099d7
    XmRegion		clipRegion;
Packit b099d7
    XmRegion		dropSiteRegion;
Packit b099d7
    XtPointer		saveAddr;
Packit b099d7
} XmAnimationDataRec, *XmAnimationData;
Packit b099d7
Packit b099d7
Packit b099d7
/********    Private Function Declarations    ********/
Packit b099d7
Packit b099d7
extern XmDragReceiverInfo _XmAllocReceiverInfo( 
Packit b099d7
                        XmDragContext dc) ;
Packit b099d7
extern unsigned char _XmGetActiveProtocolStyle( 
Packit b099d7
                        Widget w) ;
Packit b099d7
Packit b099d7
/********    End Private 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 /* _XmDragCI_h */