Blame lib/Xm/DragCP.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: DragCP.h /main/12 1996/10/17 16:45:27 cde-osf $ */
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmDragCP_h
Packit b099d7
#define _XmDragCP_h
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
#include <Xm/DragC.h>
Packit b099d7
Packit b099d7
#include <X11/Shell.h>
Packit b099d7
#include <X11/ShellP.h>
Packit b099d7
Packit b099d7
#include <Xm/DragIcon.h>
Packit b099d7
#include <Xm/DragOverS.h>
Packit b099d7
#include <Xm/DropSMgrP.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/***********************************************************************
Packit b099d7
 *
Packit b099d7
 * DragContext (RootWrapper) Widget Private Data
Packit b099d7
 *
Packit b099d7
 ***********************************************************************/
Packit b099d7
Packit b099d7
typedef void	(*XmDragStartProc)( XmDragContext, Widget, XEvent *);
Packit b099d7
typedef void 	(*XmDragCancelProc)( XmDragContext) ;
Packit b099d7
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    XmDragStartProc		start;
Packit b099d7
    XmDragCancelProc		cancel;
Packit b099d7
    XtPointer       		extension;
Packit b099d7
} XmDragContextClassPart;
Packit b099d7
Packit b099d7
typedef struct _XmDragContextClassRec {
Packit b099d7
    CoreClassPart	      	core_class;
Packit b099d7
    XmDragContextClassPart	drag_class;
Packit b099d7
} XmDragContextClassRec;
Packit b099d7
Packit b099d7
externalref XmDragContextClassRec xmDragContextClassRec;
Packit b099d7
Packit b099d7
#define XtDragByPoll 	0
Packit b099d7
#define XtDragByEvent	1
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    Window		frame;
Packit b099d7
    Window		window;
Packit b099d7
    Widget		shell;
Packit b099d7
    unsigned char	flags;
Packit b099d7
    unsigned char	dragProtocolStyle;
Packit b099d7
    int			xOrigin, yOrigin;
Packit b099d7
    unsigned int	width, height;
Packit b099d7
    unsigned int	depth;
Packit b099d7
    XtPointer		iccInfo;
Packit b099d7
} XmDragReceiverInfoStruct, *XmDragReceiverInfo;
Packit b099d7
Packit b099d7
Packit b099d7
typedef union _XmConvertSelectionRec
Packit b099d7
  {
Packit b099d7
    XtConvertSelectionIncrProc sel_incr ;
Packit b099d7
    XtConvertSelectionProc     sel ;
Packit b099d7
  } XmConvertSelectionRec ;
Packit b099d7
  
Packit b099d7
Packit b099d7
typedef struct _XmDragContextPart{
Packit b099d7
    /****  resources ****/
Packit b099d7
Packit b099d7
    Atom			*exportTargets;
Packit b099d7
    Cardinal			numExportTargets;
Packit b099d7
    XmConvertSelectionRec	convertProc;
Packit b099d7
    XtPointer			clientData;
Packit b099d7
    XmDragIconObject		sourceCursorIcon;
Packit b099d7
    XmDragIconObject		stateCursorIcon;
Packit b099d7
    XmDragIconObject		operationCursorIcon;
Packit b099d7
    XmDragIconObject		sourcePixmapIcon;
Packit b099d7
    Pixel			cursorBackground;
Packit b099d7
    Pixel			cursorForeground;
Packit b099d7
    Pixel			validCursorForeground;
Packit b099d7
    Pixel			invalidCursorForeground;
Packit b099d7
    Pixel			noneCursorForeground;
Packit b099d7
    XtCallbackList		dragMotionCallback;
Packit b099d7
    XtCallbackList		operationChangedCallback;
Packit b099d7
    XtCallbackList		siteEnterCallback;
Packit b099d7
    XtCallbackList		siteLeaveCallback;
Packit b099d7
    XtCallbackList		topLevelEnterCallback;
Packit b099d7
    XtCallbackList		topLevelLeaveCallback;
Packit b099d7
    XtCallbackList		dropStartCallback;
Packit b099d7
    XtCallbackList		dropFinishCallback;
Packit b099d7
    XtCallbackList		dragDropFinishCallback;
Packit b099d7
    unsigned char		dragOperations;
Packit b099d7
    Boolean			incremental;
Packit b099d7
    unsigned char		blendModel;
Packit b099d7
Packit b099d7
    /* private resources */
Packit b099d7
    Window			srcWindow;
Packit b099d7
    Time			dragStartTime;
Packit b099d7
    Atom			iccHandle;
Packit b099d7
    Widget			sourceWidget;
Packit b099d7
    Boolean			sourceIsExternal;
Packit b099d7
Packit b099d7
    /**** instance data ****/
Packit b099d7
    Boolean			topWindowsFetched;
Packit b099d7
    unsigned char 		commType;
Packit b099d7
    unsigned char		animationType;
Packit b099d7
Packit b099d7
    unsigned char		operation;
Packit b099d7
    unsigned char		operations;
Packit b099d7
    unsigned int		lastEventState;
Packit b099d7
    unsigned char		dragCompletionStatus;
Packit b099d7
    unsigned char		dragDropCompletionStatus;
Packit b099d7
    Boolean			forceIPC;
Packit b099d7
    Boolean			serverGrabbed;
Packit b099d7
    Boolean			useLocal;
Packit b099d7
    Boolean			inDropSite;
Packit b099d7
    XtIntervalId 		dragTimerId;
Packit b099d7
    
Packit b099d7
    Time			roundOffTime;
Packit b099d7
    Time			lastChangeTime;
Packit b099d7
    Time			crossingTime;
Packit b099d7
Packit b099d7
    Time			dragFinishTime;
Packit b099d7
    Time			dropFinishTime;
Packit b099d7
    
Packit b099d7
    Atom			dropSelection;
Packit b099d7
    Widget			srcShell;
Packit b099d7
	Position		startX, startY;
Packit b099d7
Packit b099d7
    XmID			siteID;
Packit b099d7
Packit b099d7
    Screen			*currScreen;
Packit b099d7
    Window			currWmRoot;
Packit b099d7
    XmDragOverShellWidget	curDragOver;
Packit b099d7
    XmDragOverShellWidget	origDragOver;
Packit b099d7
Packit b099d7
    XmDragReceiverInfoStruct	*currReceiverInfo;
Packit b099d7
    XmDragReceiverInfoStruct	*rootReceiverInfo;
Packit b099d7
    XmDragReceiverInfoStruct	*receiverInfos;
Packit b099d7
    Cardinal			numReceiverInfos;
Packit b099d7
    Cardinal			maxReceiverInfos;
Packit b099d7
Packit b099d7
    unsigned char		trackingMode;
Packit b099d7
    unsigned char		activeProtocolStyle;
Packit b099d7
    unsigned char               activeBlendModel;
Packit b099d7
    Boolean			dragDropCancelEffect;
Packit b099d7
    long 			SaveEventMask; 		/* Save the current root eventMask so that D&D works for MWM */
Packit b099d7
} XmDragContextPart;
Packit b099d7
Packit b099d7
Packit b099d7
typedef  struct _XmDragContextRec{
Packit b099d7
    CorePart	 		core;
Packit b099d7
    XmDragContextPart		drag;
Packit b099d7
} XmDragContextRec;
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 /* _XmDragCP_h */