gdkdnd.inc 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. // included by gdk2.pp
  2. {$IFDEF read_interface_types}
  3. PGdkDragAction = ^TGdkDragAction;
  4. TGdkDragAction = longint; // see below for possible values
  5. { A root window with nobody claiming drags }
  6. { Not a valid drag window }
  7. { The simple WM_DROPFILES dnd }
  8. { The complex OLE2 dnd (not implemented) }
  9. { Intra-app }
  10. PGdkDragProtocol = ^TGdkDragProtocol;
  11. TGdkDragProtocol = (GDK_DRAG_PROTO_MOTIF,GDK_DRAG_PROTO_XDND,
  12. GDK_DRAG_PROTO_ROOTWIN,GDK_DRAG_PROTO_NONE,
  13. GDK_DRAG_PROTO_WIN32_DROPFILES,GDK_DRAG_PROTO_OLE2,
  14. GDK_DRAG_PROTO_LOCAL);
  15. {< public > }
  16. {< private > }
  17. PGdkDragContext = ^TGdkDragContext;
  18. TGdkDragContext = record
  19. parent_instance : TGObject;
  20. protocol : TGdkDragProtocol;
  21. is_source : gboolean;
  22. source_window : PGdkWindow;
  23. dest_window : PGdkWindow;
  24. targets : PGList;
  25. actions : TGdkDragAction;
  26. suggested_action : TGdkDragAction;
  27. action : TGdkDragAction;
  28. start_time : guint32;
  29. windowing_data : gpointer;
  30. end;
  31. PGdkDragContextClass = ^TGdkDragContextClass;
  32. TGdkDragContextClass = record
  33. parent_class : TGObjectClass;
  34. end;
  35. {$ENDIF read_interface_types}
  36. //------------------------------------------------------------------------------
  37. {$IFDEF read_interface_rest}
  38. const
  39. // values for TGdkDragAction
  40. GDK_ACTION_DEFAULT = 1 shl 0;
  41. GDK_ACTION_COPY = 1 shl 1;
  42. GDK_ACTION_MOVE = 1 shl 2;
  43. GDK_ACTION_LINK = 1 shl 3;
  44. GDK_ACTION_PRIVATE = 1 shl 4;
  45. GDK_ACTION_ASK = 1 shl 5;
  46. { Object that holds information about a drag in progress.
  47. this is used on both source and destination sides.
  48. }
  49. function GDK_TYPE_DRAG_CONTEXT : GType;
  50. function GDK_DRAG_CONTEXT(anObject : Pointer) : PGdkDragContext;
  51. function GDK_DRAG_CONTEXT_CLASS(klass : Pointer) : PGdkDragContextClass;
  52. function GDK_IS_DRAG_CONTEXT(anObject : Pointer) : boolean;
  53. function GDK_IS_DRAG_CONTEXT_CLASS(klass : Pointer) : boolean;
  54. function GDK_DRAG_CONTEXT_GET_CLASS(obj : Pointer) : PGdkDragContextClass;
  55. { Drag and Drop }
  56. function gdk_drag_context_get_type:GType; cdecl; external gdklib;
  57. function gdk_drag_context_new:PGdkDragContext; cdecl; external gdklib;
  58. {$ifndef GDK_DISABLE_DEPRECATED}
  59. procedure gdk_drag_context_ref(context:PGdkDragContext); cdecl; external gdklib;
  60. procedure gdk_drag_context_unref(context:PGdkDragContext); cdecl; external gdklib;
  61. {$endif}
  62. { Destination side }
  63. procedure gdk_drag_status(context:PGdkDragContext; action:TGdkDragAction; time:guint32); cdecl; external gdklib;
  64. procedure gdk_drop_reply(context:PGdkDragContext; ok:gboolean; time:guint32); cdecl; external gdklib;
  65. procedure gdk_drop_finish(context:PGdkDragContext; success:gboolean; time:guint32); cdecl; external gdklib;
  66. function gdk_drag_get_selection(context:PGdkDragContext):TGdkAtom; cdecl; external gdklib;
  67. { Source side }
  68. function gdk_drag_begin(window:PGdkWindow; targets:PGList):PGdkDragContext; cdecl; external gdklib;
  69. function gdk_drag_get_protocol_for_display(display:PGdkDisplay; xid:guint32; protocol:PGdkDragProtocol):guint32; cdecl; external gdklib;
  70. {$ifndef GDK_MULTIHEAD_SAFE}
  71. function gdk_drag_get_protocol(xid:guint32; protocol:PGdkDragProtocol):guint32; cdecl; external gdklib;
  72. {$endif}
  73. { GDK_MULTIHEAD_SAFE }
  74. procedure gdk_drag_find_window(context:PGdkDragContext; drag_window:PGdkWindow; x_root:gint; y_root:gint; var dest_window:PGdkWindow;
  75. protocol:PGdkDragProtocol); cdecl; external gdklib;
  76. function gdk_drag_motion(context:PGdkDragContext; dest_window:PGdkWindow; protocol:TGdkDragProtocol; x_root:gint; y_root:gint;
  77. suggested_action:TGdkDragAction; possible_actions:TGdkDragAction; time:guint32):gboolean; cdecl; external gdklib;
  78. procedure gdk_drag_drop(context:PGdkDragContext; time:guint32); cdecl; external gdklib;
  79. procedure gdk_drag_abort(context:PGdkDragContext; time:guint32); cdecl; external gdklib;
  80. {$endif read_interface_rest}
  81. //------------------------------------------------------------------------------
  82. {$IFDEF read_implementation}
  83. function GDK_TYPE_DRAG_CONTEXT : GType;
  84. begin
  85. GDK_TYPE_DRAG_CONTEXT:=gdk_drag_context_get_type;
  86. end;
  87. function GDK_DRAG_CONTEXT(anObject : Pointer) : PGdkDragContext;
  88. begin
  89. GDK_DRAG_CONTEXT:=PGdkDragContext(G_TYPE_CHECK_INSTANCE_CAST(anObject,
  90. GDK_TYPE_DRAG_CONTEXT));
  91. end;
  92. function GDK_DRAG_CONTEXT_CLASS(klass : Pointer) : PGdkDragContextClass;
  93. begin
  94. GDK_DRAG_CONTEXT_CLASS:=PGdkDragContextClass(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_DRAG_CONTEXT));
  95. end;
  96. function GDK_IS_DRAG_CONTEXT(anObject : Pointer) : boolean;
  97. begin
  98. GDK_IS_DRAG_CONTEXT:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GDK_TYPE_DRAG_CONTEXT);
  99. end;
  100. function GDK_IS_DRAG_CONTEXT_CLASS(klass : Pointer) : boolean;
  101. begin
  102. GDK_IS_DRAG_CONTEXT_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_DRAG_CONTEXT);
  103. end;
  104. function GDK_DRAG_CONTEXT_GET_CLASS(obj : Pointer) : PGdkDragContextClass;
  105. begin
  106. GDK_DRAG_CONTEXT_GET_CLASS:=PGdkDragContextClass(G_TYPE_INSTANCE_GET_CLASS(
  107. obj,GDK_TYPE_DRAG_CONTEXT));
  108. end;
  109. {$ENDIF}