📄 dnd.h
字号:
/***********************************************************//* Copyright 1996 Daniel Dardailler. Permission to use, copy, modify, distribute, and sell this softwarefor any purpose is hereby granted without fee, provided that the abovecopyright notice appear in all copies and that both that copyrightnotice and this permission notice appear in supporting documentation,and that the name of Daniel Dardailler not be used in advertising orpublicity pertaining to distribution of the software without specific,written prior permission. Daniel Dardailler makes no representationsabout the suitability of this software for any purpose. It isprovided "as is" without express or implied warranty.************************************************************/#ifndef _DnD_h#define _DnD_h/* This is a Dnd Dynamic Motif-compliant Protocol messaging API *//* Only requires Xlib layer */#include <X11/Xlib.h>#include <X11/Xatom.h>#define DndVersion 1#define DndRevision 0#define DndIncludeVersion (DndVersion * 10 + DndRevision)/* The following values are used in the DndData structure *//* protocol style */#define DND_DRAG_NONE 0#define DND_DRAG_DROP_ONLY 1#define DND_DRAG_DYNAMIC 5/* message type */#define DND_TOP_LEVEL_ENTER 0#define DND_TOP_LEVEL_LEAVE 1#define DND_DRAG_MOTION 2#define DND_DROP_SITE_ENTER 3#define DND_DROP_SITE_LEAVE 4#define DND_DROP_START 5#define DND_OPERATION_CHANGED 8/* operation(s) */#define DND_NOOP 0L#define DND_MOVE (1L << 0)#define DND_COPY (1L << 1)#define DND_LINK (1L << 2)/* status */#define DND_NO_DROP_SITE 1#define DND_INVALID_DROP_SITE 2#define DND_VALID_DROP_SITE 3/* completion */#define DND_DROP 0#define DND_DROP_HELP 1#define DND_DROP_CANCEL 2/* Client side structure used in the API */typedef struct { unsigned char reason; /* message type: DND_TOP_LEVEL_ENTER, etc */ Time time ; unsigned char operation; unsigned char operations; unsigned char status; unsigned char completion; short x ; short y ; Window src_window ; Atom property ;} DndData ;/* extern functions *//* These provides for basic formatting of ICCCM message going back and forth during the D&D gesture */extern void DndWriteSourceProperty(Display * dpy, Window window, Atom dnd_selection, Atom * targets, unsigned short num_targets);extern voidDndReadSourceProperty(Display * dpy, Window window, Atom dnd_selection, Atom ** targets, unsigned short * num_targets);extern void DndWriteReceiverProperty(Display * dpy, Window window, unsigned char protocol_style);extern voidDndReadReceiverProperty(Display * dpy, Window window, unsigned char * protocol_style);extern voidDndFillClientMessage(Display * dpy, Window window, XClientMessageEvent *cm, DndData * dnd_data, char receiver);extern BoolDndParseClientMessage(XClientMessageEvent *cm, DndData * dnd_data, char * receiver);#endif /* _Dnd_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -