|
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: DragICCI.h /main/14 1997/06/18 17:38:28 samborn $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
#ifndef _XmDragICCI_h
|
|
Packit |
b099d7 |
#define _XmDragICCI_h
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/XmP.h>
|
|
Packit |
b099d7 |
#include <Xm/Display.h>
|
|
Packit |
b099d7 |
#include <X11/Xmd.h>
|
|
Packit |
b099d7 |
#include "DragCI.h"
|
|
Packit |
b099d7 |
#include "DropSMgrI.h"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
extern "C" {
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Xm ICC internal definitions
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MAXSHORT 32767
|
|
Packit |
b099d7 |
#define MINSHORT -MAXSHORT
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Swap the byte order of 4- and 2- byte quantities.
|
|
Packit |
b099d7 |
* These macros work for bitfields.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swap4bytes(l) {\
|
|
Packit |
b099d7 |
struct {\
|
|
Packit |
b099d7 |
unsigned t :32;\
|
|
Packit |
b099d7 |
} bit32;\
|
|
Packit |
b099d7 |
char n, *tp = (char *) &bit32;\
|
|
Packit |
b099d7 |
bit32.t = l;\
|
|
Packit |
b099d7 |
n = tp[0]; tp[0] = tp[3]; tp[3] = n;\
|
|
Packit |
b099d7 |
n = tp[1]; tp[1] = tp[2]; tp[2] = n;\
|
|
Packit |
b099d7 |
l = bit32.t;\
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define swap2bytes(s) {\
|
|
Packit |
b099d7 |
struct {\
|
|
Packit |
b099d7 |
unsigned t :16;\
|
|
Packit |
b099d7 |
} bit16;\
|
|
Packit |
b099d7 |
char n, *tp = (char *) &bit16;\
|
|
Packit |
b099d7 |
bit16.t = s;\
|
|
Packit |
b099d7 |
n = tp[0]; tp[0] = tp[1]; tp[1] = n;\
|
|
Packit |
b099d7 |
s = bit16.t;\
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
/* the message type field contains the following:
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* 80 originator
|
|
Packit |
b099d7 |
* 7F message_type
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* the flags field contains the following:
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* 000F operation
|
|
Packit |
b099d7 |
* 00F0 dropSiteStatus
|
|
Packit |
b099d7 |
* 0F00 operations
|
|
Packit |
b099d7 |
* F000 completionStatus
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
}xmICCAnyMessageStruct, *xmICCAnyMessage;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
CARD32 src_window B32;
|
|
Packit |
b099d7 |
CARD32 icc_handle B32;
|
|
Packit |
b099d7 |
}xmICCTopLevelEnterMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
CARD32 src_window B32;
|
|
Packit |
b099d7 |
}xmICCTopLevelLeaveMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
INT16 x B16;
|
|
Packit |
b099d7 |
INT16 y B16;
|
|
Packit |
b099d7 |
}xmICCDragMotionMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
}xmICCOperationChangedMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
INT16 x B16;
|
|
Packit |
b099d7 |
INT16 y B16;
|
|
Packit |
b099d7 |
}xmICCDropSiteEnterMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
}xmICCDropSiteLeaveMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
BYTE message_type;
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD32 time B32;
|
|
Packit |
b099d7 |
INT16 x B16;
|
|
Packit |
b099d7 |
INT16 y B16;
|
|
Packit |
b099d7 |
CARD32 icc_handle B32;
|
|
Packit |
b099d7 |
CARD32 src_window B32;
|
|
Packit |
b099d7 |
}xmICCDropMessageStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef union _xmICCMessageStruct{
|
|
Packit |
b099d7 |
xmICCAnyMessageStruct any;
|
|
Packit |
b099d7 |
xmICCTopLevelEnterMessageStruct topLevelEnter;
|
|
Packit |
b099d7 |
xmICCTopLevelLeaveMessageStruct topLevelLeave;
|
|
Packit |
b099d7 |
xmICCDragMotionMessageStruct dragMotion;
|
|
Packit |
b099d7 |
xmICCOperationChangedMessageStruct operationChanged;
|
|
Packit |
b099d7 |
xmICCDropSiteEnterMessageStruct dropSiteEnter;
|
|
Packit |
b099d7 |
xmICCDropSiteLeaveMessageStruct dropSiteLeave;
|
|
Packit |
b099d7 |
xmICCDropMessageStruct drop;
|
|
Packit |
b099d7 |
}xmICCMessageStruct, *xmICCMessage;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef union _XmICCCallbackStruct{
|
|
Packit |
b099d7 |
XmAnyICCCallbackStruct any;
|
|
Packit |
b099d7 |
XmTopLevelEnterCallbackStruct topLevelEnter;
|
|
Packit |
b099d7 |
XmTopLevelLeaveCallbackStruct topLevelLeave;
|
|
Packit |
b099d7 |
XmDragMotionCallbackStruct dragMotion;
|
|
Packit |
b099d7 |
XmOperationChangedCallbackStruct operationChanged;
|
|
Packit |
b099d7 |
XmDropSiteEnterCallbackStruct dropSiteEnter;
|
|
Packit |
b099d7 |
XmDropSiteLeaveCallbackStruct dropSiteLeave;
|
|
Packit |
b099d7 |
XmDropSiteTreeAddCallbackStruct dropSiteTreeAdd;
|
|
Packit |
b099d7 |
XmDropSiteTreeRemoveCallbackStruct dropSiteTreeRemove;
|
|
Packit |
b099d7 |
XmDropSiteTreeUpdateCallbackStruct dropSiteTreeUpdate;
|
|
Packit |
b099d7 |
}XmICCCallbackStruct, *XmICCCallback;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmByteBufRec{
|
|
Packit |
b099d7 |
BYTE *bytes;
|
|
Packit |
b099d7 |
BYTE *stack;
|
|
Packit |
b099d7 |
BYTE *curr;
|
|
Packit |
b099d7 |
size_t size;
|
|
Packit |
b099d7 |
Cardinal max;
|
|
Packit |
b099d7 |
}xmByteBufRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmPropertyBufferRec{
|
|
Packit |
b099d7 |
xmByteBufRec data;
|
|
Packit |
b099d7 |
xmByteBufRec heap;
|
|
Packit |
b099d7 |
}xmPropertyBufferRec, *xmPropertyBuffer;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* for argument passing between DropSite and ICC routines */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteHeaderRec {
|
|
Packit |
b099d7 |
unsigned char dropType;
|
|
Packit |
b099d7 |
unsigned char dropActivity;
|
|
Packit |
b099d7 |
unsigned char traversalType;
|
|
Packit |
b099d7 |
unsigned char operations;
|
|
Packit |
b099d7 |
unsigned char animationStyle;
|
|
Packit |
b099d7 |
unsigned short importTargetsID;
|
|
Packit |
b099d7 |
XmRegion region;
|
|
Packit |
b099d7 |
} XmICCDropSiteHeaderRec, *XmICCDropSiteHeader;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteNoneDataRec {
|
|
Packit |
b099d7 |
Dimension borderWidth;
|
|
Packit |
b099d7 |
} XmICCDropSiteNoneDataRec, *XmICCDropSiteNoneData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteHighlightDataRec {
|
|
Packit |
b099d7 |
Dimension borderWidth;
|
|
Packit |
b099d7 |
Dimension highlightThickness;
|
|
Packit |
b099d7 |
Pixel background;
|
|
Packit |
b099d7 |
Pixel highlightColor;
|
|
Packit |
b099d7 |
Pixmap highlightPixmap;
|
|
Packit |
b099d7 |
} XmICCDropSiteHighlightDataRec, *XmICCDropSiteHighlightData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteShadowDataRec {
|
|
Packit |
b099d7 |
Dimension borderWidth;
|
|
Packit |
b099d7 |
Dimension highlightThickness;
|
|
Packit |
b099d7 |
Dimension shadowThickness;
|
|
Packit |
b099d7 |
Pixel foreground;
|
|
Packit |
b099d7 |
Pixel topShadowColor;
|
|
Packit |
b099d7 |
Pixmap topShadowPixmap;
|
|
Packit |
b099d7 |
Pixel bottomShadowColor;
|
|
Packit |
b099d7 |
Pixmap bottomShadowPixmap;
|
|
Packit |
b099d7 |
} XmICCDropSiteShadowDataRec, *XmICCDropSiteShadowData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSitePixmapDataRec {
|
|
Packit |
b099d7 |
Dimension borderWidth;
|
|
Packit |
b099d7 |
Dimension highlightThickness;
|
|
Packit |
b099d7 |
Dimension shadowThickness;
|
|
Packit |
b099d7 |
Pixel foreground;
|
|
Packit |
b099d7 |
Pixel background;
|
|
Packit |
b099d7 |
Pixmap animationPixmap;
|
|
Packit |
b099d7 |
Cardinal animationPixmapDepth;
|
|
Packit |
b099d7 |
Pixmap animationMask;
|
|
Packit |
b099d7 |
} XmICCDropSitePixmapDataRec, *XmICCDropSitePixmapData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteNoneRec {
|
|
Packit |
b099d7 |
XmICCDropSiteHeaderRec header;
|
|
Packit |
b099d7 |
XmICCDropSiteNoneDataRec animation_data;
|
|
Packit |
b099d7 |
} XmICCDropSiteNoneRec, *XmICCDropSiteNone;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteHighlightRec {
|
|
Packit |
b099d7 |
XmICCDropSiteHeaderRec header;
|
|
Packit |
b099d7 |
XmICCDropSiteHighlightDataRec animation_data;
|
|
Packit |
b099d7 |
} XmICCDropSiteHighlightRec, *XmICCDropSiteHighlight;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSiteShadowRec {
|
|
Packit |
b099d7 |
XmICCDropSiteHeaderRec header;
|
|
Packit |
b099d7 |
XmICCDropSiteShadowDataRec animation_data;
|
|
Packit |
b099d7 |
} XmICCDropSiteShadowRec, *XmICCDropSiteShadow;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmICCDropSitePixmapRec {
|
|
Packit |
b099d7 |
XmICCDropSiteHeaderRec header;
|
|
Packit |
b099d7 |
XmICCDropSitePixmapDataRec animation_data;
|
|
Packit |
b099d7 |
} XmICCDropSitePixmapRec, *XmICCDropSitePixmap;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef union _XmICCDropSiteInfoStruct {
|
|
Packit |
b099d7 |
XmICCDropSiteHeaderRec header;
|
|
Packit |
b099d7 |
XmICCDropSiteHighlightRec highlightDS;
|
|
Packit |
b099d7 |
XmICCDropSiteShadowRec shadowDS;
|
|
Packit |
b099d7 |
XmICCDropSitePixmapRec pixmapDS;
|
|
Packit |
b099d7 |
} XmICCDropSiteInfoStruct, *XmICCDropSiteInfo;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmReceiverDSTreeStruct{
|
|
Packit |
b099d7 |
xmPropertyBufferRec propBufRec;
|
|
Packit |
b099d7 |
unsigned char byteOrder;
|
|
Packit |
b099d7 |
Cardinal numDropSites;
|
|
Packit |
b099d7 |
Cardinal currDropSite;
|
|
Packit |
b099d7 |
}XmReceiverDSTreeStruct, *XmReceiverDSTree;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* The following structures are for property access.
|
|
Packit |
b099d7 |
* They must have 64-bit multiple lengths to support 64-bit architectures.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDragInitiatorInfoStruct{
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
BYTE protocol_version;
|
|
Packit |
b099d7 |
CARD16 targets_index B16;
|
|
Packit |
b099d7 |
CARD32 icc_handle B32;
|
|
Packit |
b099d7 |
}xmDragInitiatorInfoStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDragReceiverInfoStruct{
|
|
Packit |
b099d7 |
BYTE byte_order;
|
|
Packit |
b099d7 |
BYTE protocol_version;
|
|
Packit |
b099d7 |
BYTE drag_protocol_style;
|
|
Packit |
b099d7 |
BYTE pad1;
|
|
Packit |
b099d7 |
CARD32 proxy_window B32;
|
|
Packit |
b099d7 |
CARD16 num_drop_sites B16;
|
|
Packit |
b099d7 |
CARD16 pad2 B16;
|
|
Packit |
b099d7 |
CARD32 heap_offset B32;
|
|
Packit |
b099d7 |
}xmDragReceiverInfoStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
INT16 x1 B16;
|
|
Packit |
b099d7 |
INT16 x2 B16;
|
|
Packit |
b099d7 |
INT16 y1 B16;
|
|
Packit |
b099d7 |
INT16 y2 B16;
|
|
Packit |
b099d7 |
}xmICCRegBoxRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDSHeaderStruct{
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* the flags field contains the following:
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* 0003 traversalType
|
|
Packit |
b099d7 |
* 000C dropActivity
|
|
Packit |
b099d7 |
* 00F0 dropType
|
|
Packit |
b099d7 |
* 0F00 operations
|
|
Packit |
b099d7 |
* F000 animationStyle
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
CARD16 flags B16;
|
|
Packit |
b099d7 |
CARD16 import_targets_id B16;
|
|
Packit |
b099d7 |
CARD32 dsRegionNumBoxes B32;
|
|
Packit |
b099d7 |
}xmDSHeaderStruct, *xmDSHeader;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDSNoneDataStruct{
|
|
Packit |
b099d7 |
CARD16 borderWidth B16;
|
|
Packit |
b099d7 |
CARD16 pad1 B16;
|
|
Packit |
b099d7 |
CARD32 pad2 B32;
|
|
Packit |
b099d7 |
}xmDSNoneDataStruct, *xmDSNoneData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDSHighlightDataStruct{
|
|
Packit |
b099d7 |
CARD16 borderWidth B16;
|
|
Packit |
b099d7 |
CARD16 highlightThickness B16;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CARD32 background B32;
|
|
Packit |
b099d7 |
CARD32 highlightColor B32;
|
|
Packit |
b099d7 |
CARD32 highlightPixmap B32;
|
|
Packit |
b099d7 |
}xmDSHighlightDataStruct, *xmDSHighlightData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDSShadowDataStruct{
|
|
Packit |
b099d7 |
CARD16 borderWidth B16;
|
|
Packit |
b099d7 |
CARD16 highlightThickness B16;
|
|
Packit |
b099d7 |
CARD16 shadowThickness B16;
|
|
Packit |
b099d7 |
CARD16 pad1 B16;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CARD32 foreground B32;
|
|
Packit |
b099d7 |
CARD32 topShadowColor B32;
|
|
Packit |
b099d7 |
CARD32 bottomShadowColor B32;
|
|
Packit |
b099d7 |
CARD32 topShadowPixmap B32;
|
|
Packit |
b099d7 |
CARD32 bottomShadowPixmap B32;
|
|
Packit |
b099d7 |
CARD32 pad2 B32;
|
|
Packit |
b099d7 |
}xmDSShadowDataStruct, *xmDSShadowData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _xmDSPixmapDataStruct{
|
|
Packit |
b099d7 |
CARD16 borderWidth B16;
|
|
Packit |
b099d7 |
CARD16 highlightThickness B16;
|
|
Packit |
b099d7 |
CARD16 shadowThickness B16;
|
|
Packit |
b099d7 |
CARD16 animationPixmapDepth B16;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CARD32 foreground B32;
|
|
Packit |
b099d7 |
CARD32 background B32;
|
|
Packit |
b099d7 |
CARD32 animationPixmap B32;
|
|
Packit |
b099d7 |
CARD32 animationMask B32;
|
|
Packit |
b099d7 |
}xmDSPixmapDataStruct, *xmDSPixmapData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Macros for the manipulation of ICCmessages and xmDSData */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_TRAVERSAL_TYPE_MASK ((CARD16) 0x0003)
|
|
Packit |
b099d7 |
#define _XM_TRAVERSAL_TYPE_SHIFT 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DS_ACTIVITY_MASK ((CARD16) 0x000C)
|
|
Packit |
b099d7 |
#define _XM_DS_ACTIVITY_SHIFT 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DND_OPERATION_MASK ((CARD16) 0x000F)
|
|
Packit |
b099d7 |
#define _XM_DND_OPERATION_SHIFT 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DND_SITE_STATUS_MASK ((CARD16) 0x00F0)
|
|
Packit |
b099d7 |
#define _XM_DND_SITE_STATUS_SHIFT 4
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DS_TYPE_MASK ((CARD16) 0x00F0)
|
|
Packit |
b099d7 |
#define _XM_DS_TYPE_SHIFT 4
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DND_MULTIOPS_MASK ((CARD16) 0x0F00)
|
|
Packit |
b099d7 |
#define _XM_DND_MULTIOPS_SHIFT 8
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_DND_COMPLETION_MASK ((CARD16) 0xF000)
|
|
Packit |
b099d7 |
#define _XM_DND_COMPLETION_SHIFT 12
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_ANIMATION_STYLE_MASK ((CARD16) 0xF000)
|
|
Packit |
b099d7 |
#define _XM_ANIMATION_STYLE_SHIFT 12
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_OPERATION(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DND_OPERATION_MASK) >> _XM_DND_OPERATION_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_OPERATION(operation) \
|
|
Packit |
b099d7 |
(((CARD16)(operation) << _XM_DND_OPERATION_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DND_OPERATION_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_SITE_STATUS(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DND_SITE_STATUS_MASK) >> _XM_DND_SITE_STATUS_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_SITE_STATUS(site_status) \
|
|
Packit |
b099d7 |
(((CARD16)(site_status) << _XM_DND_SITE_STATUS_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DND_SITE_STATUS_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_MULTIOPS(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DND_MULTIOPS_MASK) >> _XM_DND_MULTIOPS_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_MULTIOPS(operation) \
|
|
Packit |
b099d7 |
(((CARD16)(operation) << _XM_DND_MULTIOPS_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DND_MULTIOPS_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_COMPLETION(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DND_COMPLETION_MASK) >> _XM_DND_COMPLETION_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_COMPLETION(completion) \
|
|
Packit |
b099d7 |
(((CARD16)(completion) << _XM_DND_COMPLETION_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DND_COMPLETION_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_TRAVERSAL_TYPE(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_TRAVERSAL_TYPE_MASK) >> _XM_TRAVERSAL_TYPE_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_TRAVERSAL_TYPE(traversal_type) \
|
|
Packit |
b099d7 |
(((CARD16)(traversal_type) << _XM_TRAVERSAL_TYPE_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_TRAVERSAL_TYPE_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_DS_TYPE(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DS_TYPE_MASK) >> _XM_DS_TYPE_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_DS_TYPE(ds_type) \
|
|
Packit |
b099d7 |
(((CARD16)(ds_type) << _XM_DS_TYPE_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DS_TYPE_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_DS_ACTIVITY(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_DS_ACTIVITY_MASK) >> _XM_DS_ACTIVITY_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_DS_ACTIVITY(ds_activity) \
|
|
Packit |
b099d7 |
(((CARD16)(ds_activity) << _XM_DS_ACTIVITY_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_DS_ACTIVITY_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_ANIMATION_STYLE(flags) \
|
|
Packit |
b099d7 |
((unsigned char) \
|
|
Packit |
b099d7 |
((int)((flags) & _XM_ANIMATION_STYLE_MASK) >> _XM_ANIMATION_STYLE_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_ANIMATION_STYLE(animation_style) \
|
|
Packit |
b099d7 |
(((CARD16)(animation_style) << _XM_ANIMATION_STYLE_SHIFT)\
|
|
Packit |
b099d7 |
& _XM_ANIMATION_STYLE_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* We consume the high order bit of the messageType in order
|
|
Packit |
b099d7 |
* to indicate whether this is an initiator generated event
|
|
Packit |
b099d7 |
* or a receiver generated event.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* This is all wrapped in macros in case we want to use more bits
|
|
Packit |
b099d7 |
* later.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef enum {
|
|
Packit |
b099d7 |
XmICC_INITIATOR_EVENT,
|
|
Packit |
b099d7 |
XmICC_RECEIVER_EVENT
|
|
Packit |
b099d7 |
} XmICCEventType;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XM_ICC_EVENT_TYPE_MASK ((BYTE)0x80)
|
|
Packit |
b099d7 |
#define _XM_ICC_EVENT_TYPE_SHIFT 7
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define GET_ICC_EVENT_TYPE(type) \
|
|
Packit |
b099d7 |
((XmICCEventType) \
|
|
Packit |
b099d7 |
((int)((type) & _XM_ICC_EVENT_TYPE_MASK) >> _XM_ICC_EVENT_TYPE_SHIFT))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PUT_ICC_EVENT_TYPE(type) \
|
|
Packit |
b099d7 |
(((BYTE)(type) << _XM_ICC_EVENT_TYPE_SHIFT) \
|
|
Packit |
b099d7 |
& _XM_ICC_EVENT_TYPE_MASK)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define CLEAR_ICC_EVENT_TYPE ((BYTE)0x7F)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _MOTIF_DRAG_PROTOCOL_VERSION (BYTE)0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
externalref unsigned char _XmByteOrderChar;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******** Private Function Declarations ********/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern unsigned char _XmReasonToMessageType(
|
|
Packit |
b099d7 |
int reason) ;
|
|
Packit |
b099d7 |
extern unsigned int _XmMessageTypeToReason(
|
|
Packit |
b099d7 |
#if NeedWidePrototypes
|
|
Packit |
b099d7 |
unsigned int messageType) ;
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
unsigned char messageType) ;
|
|
Packit |
b099d7 |
#endif /* NeedWidePrototypes */
|
|
Packit |
b099d7 |
extern void _XmICCCallbackToICCEvent(
|
|
Packit |
b099d7 |
Display *display,
|
|
Packit |
b099d7 |
Window window,
|
|
Packit |
b099d7 |
XmICCCallback callback,
|
|
Packit |
b099d7 |
XClientMessageEvent *cmev,
|
|
Packit |
b099d7 |
XmICCEventType type) ;
|
|
Packit |
b099d7 |
extern void _XmSendICCCallback(
|
|
Packit |
b099d7 |
Display *display,
|
|
Packit |
b099d7 |
Window window,
|
|
Packit |
b099d7 |
XmICCCallback callback,
|
|
Packit |
b099d7 |
XmICCEventType type) ;
|
|
Packit |
b099d7 |
extern Boolean _XmICCEventToICCCallback(
|
|
Packit |
b099d7 |
XClientMessageEvent *msgEv,
|
|
Packit |
b099d7 |
XmICCCallback callback,
|
|
Packit |
b099d7 |
XmICCEventType type) ;
|
|
Packit |
b099d7 |
extern CARD16 _XmReadDragBuffer(
|
|
Packit |
b099d7 |
xmPropertyBuffer propBuf,
|
|
Packit |
b099d7 |
#if NeedWidePrototypes
|
|
Packit |
b099d7 |
int which,
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
BYTE which,
|
|
Packit |
b099d7 |
#endif /* NeedWidePrototypes */
|
|
Packit |
b099d7 |
BYTE *ptr,
|
|
Packit |
b099d7 |
CARD32 size) ;
|
|
Packit |
b099d7 |
extern CARD16 _XmWriteDragBuffer(
|
|
Packit |
b099d7 |
xmPropertyBuffer propBuf,
|
|
Packit |
b099d7 |
#if NeedWidePrototypes
|
|
Packit |
b099d7 |
int which,
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
BYTE which,
|
|
Packit |
b099d7 |
#endif /* NeedWidePrototypes */
|
|
Packit |
b099d7 |
BYTE *ptr,
|
|
Packit |
b099d7 |
CARD32 size) ;
|
|
Packit |
b099d7 |
extern void _XmWriteInitiatorInfo(
|
|
Packit |
b099d7 |
Widget dc) ;
|
|
Packit |
b099d7 |
extern void _XmReadInitiatorInfo(
|
|
Packit |
b099d7 |
Widget dc) ;
|
|
Packit |
b099d7 |
extern Boolean _XmGetDragReceiverInfo(
|
|
Packit |
b099d7 |
Display *display,
|
|
Packit |
b099d7 |
Window window,
|
|
Packit |
b099d7 |
XmDragReceiverInfoStruct *receiverInfoRtn) ;
|
|
Packit |
b099d7 |
extern Boolean _XmReadDSFromStream(
|
|
Packit |
b099d7 |
XmDropSiteManagerObject dsm,
|
|
Packit |
b099d7 |
XtPointer iccInfo,
|
|
Packit |
b099d7 |
XmICCDropSiteInfo dropSiteInfoRtn) ;
|
|
Packit |
b099d7 |
extern void _XmWriteDSToStream(
|
|
Packit |
b099d7 |
XmDropSiteManagerObject dsm,
|
|
Packit |
b099d7 |
XtPointer stream,
|
|
Packit |
b099d7 |
XmICCDropSiteInfo dropSiteInfo) ;
|
|
Packit |
b099d7 |
extern void _XmFreeDragReceiverInfo(
|
|
Packit |
b099d7 |
XtPointer info) ;
|
|
Packit |
b099d7 |
extern void _XmClearDragReceiverInfo(
|
|
Packit |
b099d7 |
Widget shell) ;
|
|
Packit |
b099d7 |
extern void _XmSetDragReceiverInfo(
|
|
Packit |
b099d7 |
XmDisplay dd,
|
|
Packit |
b099d7 |
Widget shell) ;
|
|
Packit |
b099d7 |
extern void _XmInitByteOrderChar( void ) ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******** End Private Function Declarations ********/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XmInitDragICC(dd) _XmInitByteOrderChar()
|
|
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 /* _XmDragICCI_h */
|