summaryrefslogtreecommitdiff
path: root/packages/extra/gtk2/gtk+/gtk/gtksocket.inc
blob: 3c6566fbc0e10a11a17dff062c09be8a402863eb (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// included by gtk2.pas

{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}

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

{$IFDEF read_interface_types}
{ -1 == not xembed  }
   PGtkSocket = ^TGtkSocket;
   TGtkSocket = record
        container : TGtkContainer;
        request_width : guint16;
        request_height : guint16;
        current_width : guint16;
        current_height : guint16;
        plug_window : PGdkWindow;
        plug_widget : PGtkWidget;
        xembed_version : gshort;
        flag0 : word;
        accel_group : PGtkAccelGroup;
        toplevel : PGtkWidget;
     end;


{ Padding for future expansion  }
   PGtkSocketClass = ^TGtkSocketClass;
   TGtkSocketClass = record
        parent_class : TGtkContainerClass;
        plug_added : procedure (socket:PGtkSocket); cdecl;
        plug_removed : function (socket:PGtkSocket):gboolean; 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_TGtkSocket_same_app = $1;
   bp_TGtkSocket_same_app = 0;
   bm_TGtkSocket_focus_in = $2;
   bp_TGtkSocket_focus_in = 1;
   bm_TGtkSocket_have_size = $4;
   bp_TGtkSocket_have_size = 2;
   bm_TGtkSocket_need_map = $8;
   bp_TGtkSocket_need_map = 3;
   bm_TGtkSocket_is_mapped = $10;
   bp_TGtkSocket_is_mapped = 4;


function GTK_TYPE_SOCKET : GType;
function GTK_SOCKET(obj: pointer) : PGtkSocket;
function GTK_SOCKET_CLASS(klass: pointer) : PGtkSocketClass;
function GTK_IS_SOCKET(obj: pointer) : boolean;
function GTK_IS_SOCKET_CLASS(klass: pointer) : boolean;
function GTK_SOCKET_GET_CLASS(obj: pointer) : PGtkSocketClass;


function same_app(var a : TGtkSocket) : guint; overload;
procedure set_same_app(var a : TGtkSocket; __same_app : guint); overload;
function focus_in(var a : TGtkSocket) : guint;
procedure set_focus_in(var a : TGtkSocket; __focus_in : guint);
function have_size(var a : TGtkSocket) : guint;
procedure set_have_size(var a : TGtkSocket; __have_size : guint);
function need_map(var a : TGtkSocket) : guint;
procedure set_need_map(var a : TGtkSocket; __need_map : guint);
function is_mapped(var a : TGtkSocket) : guint;
procedure set_is_mapped(var a : TGtkSocket; __is_mapped : guint);

function gtk_socket_new:PGtkWidget; cdecl; external gtklib;
function gtk_socket_get_type:TGtkType; cdecl; external gtklib;
procedure gtk_socket_add_id(socket:PGtkSocket; window_id:TGdkNativeWindow); cdecl; external gtklib;
function gtk_socket_get_id(socket:PGtkSocket):TGdkNativeWindow; cdecl; external gtklib;

{$ifndef GTK_DISABLE_DEPRECATED}
procedure gtk_socket_steal(socket:PGtkSocket; wid:TGdkNativeWindow); cdecl; external gtklib;
{$endif}
{ GTK_DISABLE_DEPRECATED  }

{$ENDIF read_interface_rest}

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

{$IFDEF read_implementation}
function GTK_TYPE_SOCKET : GType;
begin
   GTK_TYPE_SOCKET:=gtk_socket_get_type;
end;

function GTK_SOCKET(obj: pointer) : PGtkSocket;
begin
   GTK_SOCKET:=PGtkSocket(GTK_CHECK_CAST(obj,GTK_TYPE_SOCKET));
end;

function GTK_SOCKET_CLASS(klass: pointer) : PGtkSocketClass;
begin
   GTK_SOCKET_CLASS:=PGtkSocketClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_SOCKET));
end;

function GTK_IS_SOCKET(obj: pointer) : boolean;
begin
   GTK_IS_SOCKET:=GTK_CHECK_TYPE(obj,GTK_TYPE_SOCKET);
end;

function GTK_IS_SOCKET_CLASS(klass: pointer) : boolean;
begin
   GTK_IS_SOCKET_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_SOCKET);
end;

function GTK_SOCKET_GET_CLASS(obj: pointer) : PGtkSocketClass;
begin
   GTK_SOCKET_GET_CLASS:=PGtkSocketClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_SOCKET));
end;

function same_app(var a : TGtkSocket) : guint;
begin
   same_app:=(a.flag0 and bm_TGtkSocket_same_app) shr bp_TGtkSocket_same_app;
end;

procedure set_same_app(var a : TGtkSocket; __same_app : guint);
begin
   a.flag0:=a.flag0 or ((__same_app shl bp_TGtkSocket_same_app) and bm_TGtkSocket_same_app);
end;

function focus_in(var a : TGtkSocket) : guint;
begin
   focus_in:=(a.flag0 and bm_TGtkSocket_focus_in) shr bp_TGtkSocket_focus_in;
end;

procedure set_focus_in(var a : TGtkSocket; __focus_in : guint);
begin
   a.flag0:=a.flag0 or ((__focus_in shl bp_TGtkSocket_focus_in) and bm_TGtkSocket_focus_in);
end;

function have_size(var a : TGtkSocket) : guint;
begin
   have_size:=(a.flag0 and bm_TGtkSocket_have_size) shr bp_TGtkSocket_have_size;
end;

procedure set_have_size(var a : TGtkSocket; __have_size : guint);
begin
   a.flag0:=a.flag0 or ((__have_size shl bp_TGtkSocket_have_size) and bm_TGtkSocket_have_size);
end;

function need_map(var a : TGtkSocket) : guint;
begin
   need_map:=(a.flag0 and bm_TGtkSocket_need_map) shr bp_TGtkSocket_need_map;
end;

procedure set_need_map(var a : TGtkSocket; __need_map : guint);
begin
   a.flag0:=a.flag0 or ((__need_map shl bp_TGtkSocket_need_map) and bm_TGtkSocket_need_map);
end;

function is_mapped(var a : TGtkSocket) : guint;
begin
   is_mapped:=(a.flag0 and bm_TGtkSocket_is_mapped) shr bp_TGtkSocket_is_mapped;
end;

procedure set_is_mapped(var a : TGtkSocket; __is_mapped : guint);
begin
   a.flag0:=a.flag0 or ((__is_mapped shl bp_TGtkSocket_is_mapped) and bm_TGtkSocket_is_mapped);
end;

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