/* This structure is deliberately designed to be *copiablewithmemcpy(),i.e.nopointersinside.
*/ struct _GdkWin32DragUtilityData
{ int last_x; /* Coordinates from last event, in GDK space */ int last_y;
DWORD last_key_state; /* Key state from last event */
GdkWin32DndState state;
};
struct _GdkWin32Drag
{
GdkDrag drag;
/* The drag protocol being used */
GdkDragProtocol protocol;
/* The surface used for grabs. *UsuallythesameasGdkDrag->source_surface
*/
GdkSurface *grab_surface;
/* The HWND currently under cursor. *WillbeINVALID_HANDLE_VALUE(notNULL!)ifitisnotknown
*/
HWND dest_hwnd;
/* The surface that we move along with the cursor to indicate *whatexactlyisbeingdragged.
*/
GdkSurface *drag_surface;
GdkCursor *cursor;
GdkSeat *grab_seat;
/* Used to keep track of current drag action, and *emitan"action-changed"signalwheneveritchanges. *Intheendtheactualactionisdecidedonthebasisof *thelastinformationwereceivefromthedropsite,this *fieldisnotusedforthatpurpose.
*/
GdkDragAction current_action;
GdkWin32DragUtilityData util_data;
guint scale; /* Temporarily caches the HiDPI scale */ int hot_x; /* Hotspot offset from the top-left of the drag-window, scaled (can be added to GDK space coordinates) */ int hot_y; int start_x; /* Coordinates of the drag start, in GDK space */ int start_y;
guint drag_status : 4; /* Current status of drag */
guint drop_failed : 1; /* Whether the drop was unsuccessful */
guint handle_events : 1; /* Whether handle_event() should do anything */
/* keep track of thread data for the DnD op, kept in the GdkDisplay that we create, a GdkWin32DndThread structure */ void *dnd_thread_items;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.