summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/gtk2/src/gtk+/gtk/gtkplug.inc
blob: 921a7641120a6d63c9b884788bd989d8c4e33ce0 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// included by gtk2.pas

{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}

//------------------------------------------------------------------------------

{$IFDEF read_interface_types}
   PGtkPlug = ^TGtkPlug;
   TGtkPlug = record
        window : TGtkWindow;
        socket_window : PGdkWindow;
        modality_window : PGtkWidget;
        modality_group : PGtkWindowGroup;
        grabbed_keys : PGHashTable;
        flag0 : word;
     end;

{ Padding for future expansion  }
   PGtkPlugClass = ^TGtkPlugClass;
   TGtkPlugClass = record
        parent_class : TGtkWindowClass;
        embedded : procedure (plug:PGtkPlug); cdecl;
        _gtk_reserved1 : procedure ; cdecl;
        _gtk_reserved2 : procedure ; cdecl;
        _gtk_reserved3 : procedure ; cdecl;
        _gtk_reserved4 : procedure ; cdecl;
     end;
{$ENDIF read_interface_types}

//------------------------------------------------------------------------------

{$IFDEF read_interface_rest}
const
   bm_TGtkPlug_same_app = $1;
   bp_TGtkPlug_same_app = 0;
function GTK_TYPE_PLUG : GType;
function GTK_PLUG(obj: pointer) : PGtkPlug;
function GTK_PLUG_CLASS(klass: pointer) : PGtkPlugClass;
function GTK_IS_PLUG(obj: pointer) : boolean;
function GTK_IS_PLUG_CLASS(klass: pointer) : boolean;
function GTK_PLUG_GET_CLASS(obj: pointer) : PGtkPlugClass;

function same_app(var a : TGtkPlug) : guint; overload;
procedure set_same_app(var a : TGtkPlug; __same_app : guint); overload;


function gtk_plug_get_type:TGtkType; cdecl; external gtklib;

{$ifndef GDK_MULTIHEAD_SAFE}
procedure gtk_plug_construct(plug:PGtkPlug; socket_id:TGdkNativeWindow); cdecl; external gtklib;
function gtk_plug_new(socket_id:TGdkNativeWindow):PGtkWidget; cdecl; external gtklib;
{$endif}

function gtk_plug_get_id(plug:PGtkPlug):TGdkNativeWindow; cdecl; external gtklib;
procedure _gtk_plug_add_to_socket(plug:PGtkPlug; socket:PGtkSocket); cdecl; external gtklib;
procedure _gtk_plug_remove_from_socket(plug:PGtkPlug; socket:PGtkSocket); cdecl; external gtklib;

{$IFDEF HasGTK2_2}
procedure gtk_plug_construct_for_display(plug:PGtkPlug; display:PGdkDisplay; socket_id:TGdkNativeWindow); cdecl; external gtklib;
function gtk_plug_new_for_display(display:PGdkDisplay; socket_id:TGdkNativeWindow):PGtkWidget; cdecl; external gtklib;
{$ENDIF}
{$ENDIF read_interface_rest}

//------------------------------------------------------------------------------

{$IFDEF read_implementation}
function GTK_TYPE_PLUG : GType;
begin
   GTK_TYPE_PLUG:=gtk_plug_get_type;
end;

function GTK_PLUG(obj: pointer) : PGtkPlug;
begin
   GTK_PLUG:=PGtkPlug(GTK_CHECK_CAST(obj,GTK_TYPE_PLUG));
end;

function GTK_PLUG_CLASS(klass: pointer) : PGtkPlugClass;
begin
   GTK_PLUG_CLASS:=PGtkPlugClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_PLUG));
end;

function GTK_IS_PLUG(obj: pointer) : boolean;
begin
   GTK_IS_PLUG:=GTK_CHECK_TYPE(obj,GTK_TYPE_PLUG);
end;

function GTK_IS_PLUG_CLASS(klass: pointer) : boolean;
begin
   GTK_IS_PLUG_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_PLUG);
end;

function GTK_PLUG_GET_CLASS(obj: pointer) : PGtkPlugClass;
begin
   GTK_PLUG_GET_CLASS:=PGtkPlugClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_PLUG));
end;

function same_app(var a : TGtkPlug) : guint;
begin
   same_app:=(a.flag0 and bm_TGtkPlug_same_app) shr bp_TGtkPlug_same_app;
end;

procedure set_same_app(var a : TGtkPlug; __same_app : guint);
begin
   a.flag0:=a.flag0 or ((__same_app shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app);
end;

{$ENDIF read_implementation}
// included by gtk2.pas