blob: 30c5dcde72d1930b96641c6a99d2ee0598bb27ec (
plain)
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
|
// included by gtk2.pas
{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}
//------------------------------------------------------------------------------
{$IFDEF read_interface_types}
{ respond to "drag_motion" }
{ auto-highlight }
{ respond to "drag_drop" }
PGtkDestDefaults = ^TGtkDestDefaults;
TGtkDestDefaults = longint;
{ Flags for the GtkTargetEntry on the destination side
}
{< nick=same-app > }
{< nick=same-widget > }
PGtkTargetFlags = ^TGtkTargetFlags;
TGtkTargetFlags = longint;
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
const
GTK_DEST_DEFAULT_MOTION = 1 shl 0;
GTK_DEST_DEFAULT_HIGHLIGHT = 1 shl 1;
GTK_DEST_DEFAULT_DROP = 1 shl 2;
GTK_DEST_DEFAULT_ALL = $07;
GTK_TARGET_SAME_APP = 1 shl 0;
GTK_TARGET_SAME_WIDGET = 1 shl 1;
{ Destination side }
procedure gtk_drag_get_data(widget:PGtkWidget; context:PGdkDragContext; target:TGdkAtom; time:guint32); cdecl; external gtklib;
procedure gtk_drag_finish(context:PGdkDragContext; success:gboolean; del:gboolean; time:guint32); cdecl; external gtklib;
function gtk_drag_get_source_widget(context:PGdkDragContext):PGtkWidget; cdecl; external gtklib;
procedure gtk_drag_highlight(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_unhighlight(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_dest_set(widget:PGtkWidget; flags:TGtkDestDefaults; targets:PGtkTargetEntry; n_targets:gint; actions:TGdkDragAction); cdecl; external gtklib;
procedure gtk_drag_dest_set_proxy(widget:PGtkWidget; proxy_window:PGdkWindow; protocol:TGdkDragProtocol; use_coordinates:gboolean); cdecl; external gtklib;
procedure gtk_drag_dest_unset(widget:PGtkWidget); cdecl; external gtklib;
function gtk_drag_dest_find_target(widget:PGtkWidget; context:PGdkDragContext; target_list:PGtkTargetList):TGdkAtom; cdecl; external gtklib;
function gtk_drag_dest_get_target_list(widget:PGtkWidget):PGtkTargetList; cdecl; external gtklib;
procedure gtk_drag_dest_set_target_list(widget:PGtkWidget; target_list:PGtkTargetList); cdecl; external gtklib;
{ Source side }
procedure gtk_drag_source_set(widget:PGtkWidget; start_button_mask:TGdkModifierType; targets:PGtkTargetEntry; n_targets:gint; actions:TGdkDragAction); cdecl; external gtklib;
procedure gtk_drag_source_unset(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_source_set_icon(widget:PGtkWidget; colormap:PGdkColormap; pixmap:PGdkPixmap; mask:PGdkBitmap); cdecl; external gtklib;
procedure gtk_drag_source_set_icon_pixbuf(widget:PGtkWidget; pixbuf:PGdkPixbuf); cdecl; external gtklib;
procedure gtk_drag_source_set_icon_stock(widget:PGtkWidget; stock_id:Pgchar); cdecl; external gtklib;
{ There probably should be functions for setting the targets
as a GtkTargetList
}
function gtk_drag_begin(widget:PGtkWidget; targets:PGtkTargetList; actions:TGdkDragAction; button:gint; event:PGdkEvent):PGdkDragContext; cdecl; external gtklib;
{ Set the image being dragged around
}
procedure gtk_drag_set_icon_widget(context:PGdkDragContext; widget:PGtkWidget; hot_x:gint; hot_y:gint); cdecl; external gtklib;
procedure gtk_drag_set_icon_pixmap(context:PGdkDragContext; colormap:PGdkColormap; pixmap:PGdkPixmap; mask:PGdkBitmap; hot_x:gint;
hot_y:gint); cdecl; external gtklib;
procedure gtk_drag_set_icon_pixbuf(context:PGdkDragContext; pixbuf:PGdkPixbuf; hot_x:gint; hot_y:gint); cdecl; external gtklib;
procedure gtk_drag_set_icon_stock(context:PGdkDragContext; stock_id:Pgchar; hot_x:gint; hot_y:gint); cdecl; external gtklib;
procedure gtk_drag_set_icon_default(context:PGdkDragContext); cdecl; external gtklib;
function gtk_drag_check_threshold(widget:PGtkWidget; start_x:gint; start_y:gint; current_x:gint; current_y:gint):gboolean; cdecl; external gtklib;
{ Internal functions }
procedure _gtk_drag_source_handle_event(widget:PGtkWidget; event:PGdkEvent); cdecl; external gtklib;
procedure _gtk_drag_dest_handle_event(toplevel:PGtkWidget; event:PGdkEvent); cdecl; external gtklib;
{$ifndef GTK_DISABLE_DEPRECATED}
procedure gtk_drag_set_default_icon(colormap:PGdkColormap; pixmap:PGdkPixmap; mask:PGdkBitmap; hot_x:gint; hot_y:gint); cdecl; external gtklib;
{$endif}
{ !GTK_DISABLE_DEPRECATED }
{$ifdef HasGTK2_4}
function gtk_drag_source_get_target_list(widget: PGtkWidget):PGtkTargetList; cdecl; external gtklib;
procedure gtk_drag_source_set_target_list(widget: PGtkWidget; target_list:PGtkTargetList); cdecl; external gtklib;
{$endif}
{$ifdef HasGTK2_6}
procedure gtk_drag_dest_add_image_targets(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_dest_add_text_targets(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_dest_add_uri_targets(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_source_add_image_targets(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_source_add_text_targets(widget:PGtkWidget); cdecl; external gtklib;
procedure gtk_drag_source_add_uri_targets(widget:PGtkWidget); cdecl; external gtklib;
{$endif}
{$ENDIF read_interface_rest}
// included by gtk2.pas
|