/usr/include/xview/dragdrop.h is in xviewg-dev 3.2p1.4-28.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | #ifndef lint
#ifdef sccs
static char sccsid[] = "@(#)dragdrop.h 1.19 93/06/28";
#endif
#endif
/*
* (c) Copyright 1990 Sun Microsystems, Inc. Sun design patents
* pending in the U.S. and foreign countries. See LEGAL NOTICE
* file for terms of the license.
*/
#ifndef xview_dnd_DEFINED
#define xview_dnd_DEFINED
#include <xview/attr.h>
#include <xview/sel_pkg.h>
#include <xview/xv_c_types.h>
/*
* Private
*/
#define DND_ATTR(type, ordinal) ATTR(ATTR_PKG_DND, type, ordinal)
#define DND_ATTR_LIST(ltype, type, ordinal) \
DND_ATTR(ATTR_LIST_INLINE((ltype), (type)), (ordinal))
/*
* Public
*/
#define DRAGDROP &xv_dnd_pkg
#define DROP_SITE_ITEM &xv_drop_site_item
typedef Xv_opaque Xv_drag_drop, Drag_drop, Dnd;
typedef Xv_opaque Xv_drop_site, Drop_site_item;
/* Error codes */
#define DND_SUCCEEDED XV_OK
#define DND_ERROR XV_ERROR
#define DND_ILLEGAL_TARGET 2
#define DND_TIMEOUT 3
#define DND_SELECTION 4
#define DND_ROOT 5
#define DND_ABORTED 6 /* STOP key pressed */
/* Drag type */
typedef enum {
DND_MOVE=0,
DND_COPY
} DndDragType;
#define DND_ENTERLEAVE (1<<0)
#define DND_MOTION (1<<1)
#define DND_DEFAULT_SITE (1<<2)
#define DND_RECT_SITE 0
/* XXX: Currently, only rect sites are supported. */
#define DND_WINDOW_SITE 1
#define DND_VERSION 0
#define dnd_is_local(event) (event_flags(event) & DND_LOCAL)
#define dnd_is_forwarded(event) (event_flags(event) & DND_FORWARDED)
/* Due to the unclear future for a standard drag and drop protocol, do not
* rely on being able to access the drop site id in the X event. It may
* not always be there. You've been warned!
*/
#define dnd_site_id(event) (event->ie_xevent->xclient.data.l[3])
/* Private defines */
#define DND_MOVE_FLAG (1<<0)
#define DND_ACK_FLAG (1<<1)
#define DND_TRANSIENT_FLAG (1<<2)
#define DND_FORWARDED_FLAG (1<<3)
/* ie_flags */
#define DND_LOCAL (1<<0)
#define DND_FORWARDED (1<<1)
/*
* Public attributes
*/
typedef enum {
/* Public Drag & Drop pkg attrs */
DND_TYPE = DND_ATTR(ATTR_SHORT, 1),
DND_CURSOR = DND_ATTR(ATTR_OPAQUE, 5),
DND_X_CURSOR = DND_ATTR(ATTR_LONG, 10),
DND_ACCEPT_CURSOR = DND_ATTR(ATTR_OPAQUE, 15),
DND_ACCEPT_X_CURSOR = DND_ATTR(ATTR_LONG, 20),
DND_TIMEOUT_VALUE = DND_ATTR(ATTR_LONG, 25),
/* Private Drop Site Item attrs */
DROP_SITE_SIZE = DND_ATTR(ATTR_INT, 95),
/* Public Drop Site Item attrs */
#ifdef WINDOW_SITES
DROP_SITE_TYPE = DND_ATTR(ATTR_INT, 100),
#endif /* WINDOW_SITES */
DROP_SITE_ID = DND_ATTR(ATTR_LONG, 105),
DROP_SITE_EVENT_MASK = DND_ATTR(ATTR_INT, 110),
DROP_SITE_REGION = DND_ATTR(ATTR_OPAQUE, 115),
DROP_SITE_REGION_PTR = DND_ATTR(ATTR_OPAQUE, 120),
DROP_SITE_DELETE_REGION = DND_ATTR(ATTR_OPAQUE, 125),
DROP_SITE_DELETE_REGION_PTR = DND_ATTR(ATTR_OPAQUE, 130),
DROP_SITE_DEFAULT = DND_ATTR(ATTR_BOOLEAN, 135)
} Dnd_attribute;
typedef struct {
Xv_sel_owner parent_data;
Xv_opaque private_data;
} Xv_dnd_struct, Xv_drop_site_struct;
/*
* Public Functions
*/
extern Xv_pkg xv_dnd_pkg;
extern Xv_pkg xv_drop_site_item;
EXTERN_FUNCTION (int dnd_send_drop, (Xv_opaque object));
EXTERN_FUNCTION (Xv_opaque dnd_decode_drop, (Xv_opaque object, Event *event));
EXTERN_FUNCTION (void dnd_done, (Xv_opaque object));
/* The function xv_decode_drop is obsolete, please use the new V3
drap and drop interface. The function is still provided for backwards
compatibility for V2 programs.
*/
EXTERN_FUNCTION( int xv_decode_drop, ( Event *ev, char *buffer, unsigned int bsize ));
#endif /* ~xview_dnd_DEFINED */
|