1
-----------------------------------------------------------------------
2
-- GtkAda - Ada95 binding for Gtk+/Gnome --
4
-- Copyright (C) 2006-2007, AdaCore --
6
-- This library is free software; you can redistribute it and/or --
7
-- modify it under the terms of the GNU General Public --
8
-- License as published by the Free Software Foundation; either --
9
-- version 2 of the License, or (at your option) any later version. --
11
-- This library is distributed in the hope that it will be useful, --
12
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
13
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
14
-- General Public License for more details. --
16
-- You should have received a copy of the GNU General Public --
17
-- License along with this library; if not, write to the --
18
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
19
-- Boston, MA 02111-1307, USA. --
21
-----------------------------------------------------------------------
24
with Gdk.Display; use Gdk.Display;
25
with Gdk.Rectangle; use Gdk.Rectangle;
26
with Gdk.Types; use Gdk.Types;
28
with Glib.Object; use Glib.Object;
29
with Glib.Values; use Glib.Values;
30
with Interfaces.C.Strings; use Interfaces.C.Strings;
31
with System; use System;
33
package body Gdk.Screen is
40
(Display : access Gdk_Display_Record'Class;
45
(Display : System.Address;
47
return System.Address;
48
pragma Import (C, Internal, "gdk_display_get_screen");
49
-- External binding: gdk_display_get_screen
50
Stub : Gdk_Screen_Record;
54
(Internal (Get_Object (Display), Screen_Num), Stub));
57
------------------------
58
-- Get_Default_Screen --
59
------------------------
61
function Get_Default_Screen
62
(Display : access Gdk_Display_Record'Class)
66
(Display : System.Address)
67
return System.Address;
68
pragma Import (C, Internal, "gdk_display_get_default_screen");
69
-- External binding: gdk_display_get_default_screen
70
Stub : Gdk_Screen_Record;
74
(Internal (Get_Object (Display)), Stub));
75
end Get_Default_Screen;
82
(Display : access Gdk_Display_Record'Class;
83
Screen : out Gdk_Screen;
86
Mask : out Gdk_Modifier_Type)
89
(Display : System.Address;
90
Screen : out System.Address;
93
Mask : out Gdk_Modifier_Type);
94
pragma Import (C, Internal, "gdk_display_get_pointer");
95
-- External binding: gdk_display_get_pointer
98
Stub : Gdk_Screen_Record;
101
Internal (Get_Object (Display), S, X, Y, Mask);
102
Screen := Gdk_Screen (Get_User_Data (S, Stub));
109
function Get_Default return Gdk_Screen is
110
function Internal return System.Address;
111
pragma Import (C, Internal, "gdk_screen_get_default");
112
Stub : Gdk_Screen_Record;
114
return Gdk_Screen (Get_User_Data (Internal, Stub));
117
--------------------------
118
-- Get_Default_Colormap --
119
--------------------------
121
function Get_Default_Colormap
122
(Screen : access Gdk_Screen_Record)
125
function Internal (Screen : System.Address) return Gdk_Colormap;
126
pragma Import (C, Internal, "gdk_screen_get_default_colormap");
128
return Internal (Get_Object (Screen));
129
end Get_Default_Colormap;
136
(Screen : access Gdk_Screen_Record)
139
function Internal (Screen : System.Address) return System.Address;
140
pragma Import (C, Internal, "gdk_screen_get_display");
141
Stub : Gdk_Display_Record;
144
(Get_User_Data (Internal (Get_Object (Screen)), Stub));
151
function Get_Height (Screen : access Gdk_Screen_Record) return Gint is
152
function Internal (Screen : System.Address) return Gint;
153
pragma Import (C, Internal, "gdk_screen_get_height");
155
return Internal (Get_Object (Screen));
162
function Get_Height_Mm (Screen : access Gdk_Screen_Record) return Gint is
163
function Internal (Screen : System.Address) return Gint;
164
pragma Import (C, Internal, "gdk_screen_get_height_mm");
166
return Internal (Get_Object (Screen));
169
--------------------------
170
-- Get_Monitor_At_Point --
171
--------------------------
173
function Get_Monitor_At_Point
174
(Screen : access Gdk_Screen_Record;
180
(Screen : System.Address;
184
pragma Import (C, Internal, "gdk_screen_get_monitor_at_point");
186
return Internal (Get_Object (Screen), X, Y);
187
end Get_Monitor_At_Point;
189
---------------------------
190
-- Get_Monitor_At_Window --
191
---------------------------
193
function Get_Monitor_At_Window
194
(Screen : access Gdk_Screen_Record;
199
(Screen : System.Address;
202
pragma Import (C, Internal, "gdk_screen_get_monitor_at_window");
204
return Internal (Get_Object (Screen), Window);
205
end Get_Monitor_At_Window;
207
--------------------------
208
-- Get_Monitor_Geometry --
209
--------------------------
211
procedure Get_Monitor_Geometry
212
(Screen : access Gdk_Screen_Record;
214
Dest : out Gdk_Rectangle)
217
(Screen : System.Address;
219
Dest : out Gdk_Rectangle);
220
pragma Import (C, Internal, "gdk_screen_get_monitor_geometry");
222
Internal (Get_Object (Screen), Monitor_Num, Dest);
223
end Get_Monitor_Geometry;
229
function Get_N_Monitors (Screen : access Gdk_Screen_Record) return Gint is
230
function Internal (Screen : System.Address) return Gint;
231
pragma Import (C, Internal, "gdk_screen_get_n_monitors");
233
return Internal (Get_Object (Screen));
240
function Get_Number (Screen : access Gdk_Screen_Record) return Gint is
241
function Internal (Screen : System.Address) return Gint;
242
pragma Import (C, Internal, "gdk_screen_get_number");
244
return Internal (Get_Object (Screen));
247
----------------------
248
-- Get_Rgb_Colormap --
249
----------------------
251
function Get_Rgb_Colormap
252
(Screen : access Gdk_Screen_Record) return Gdk_Colormap
254
function Internal (Screen : System.Address) return Gdk_Colormap;
255
pragma Import (C, Internal, "gdk_screen_get_rgb_colormap");
257
return Internal (Get_Object (Screen));
258
end Get_Rgb_Colormap;
264
function Get_Rgb_Visual
265
(Screen : access Gdk_Screen_Record) return Gdk_Visual
267
function Internal (Screen : System.Address) return Gdk_Visual;
268
pragma Import (C, Internal, "gdk_screen_get_rgb_visual");
270
return Internal (Get_Object (Screen));
273
-----------------------
274
-- Get_Rgba_Colormap --
275
-----------------------
277
function Get_Rgba_Colormap
278
(Screen : access Gdk_Screen_Record)
281
function Internal (Screen : System.Address) return Gdk_Colormap;
282
pragma Import (C, Internal, "gdk_screen_get_rgba_colormap");
284
return Internal (Get_Object (Screen));
285
end Get_Rgba_Colormap;
287
---------------------
288
-- Get_Rgba_Visual --
289
---------------------
291
function Get_Rgba_Visual
292
(Screen : access Gdk_Screen_Record)
295
function Internal (Screen : System.Address) return Gdk_Visual;
296
pragma Import (C, Internal, "gdk_screen_get_rgba_visual");
298
return Internal (Get_Object (Screen));
301
---------------------
302
-- Get_Root_Window --
303
---------------------
305
function Get_Root_Window
306
(Screen : access Gdk_Screen_Record)
309
function Internal (Screen : System.Address) return Gdk_Window;
310
pragma Import (C, Internal, "gdk_screen_get_root_window");
312
return Internal (Get_Object (Screen));
319
procedure Get_Setting
320
(Screen : access Gdk_Screen_Record;
326
(Screen : System.Address;
328
Value : access GValue)
330
pragma Import (C, Internal, "gdk_screen_get_setting");
331
Val : aliased GValue;
334
(Internal (Get_Object (Screen), Name & ASCII.NUL, Val'Access));
338
-------------------------
339
-- Get_System_Colormap --
340
-------------------------
342
function Get_System_Colormap
343
(Screen : access Gdk_Screen_Record)
346
function Internal (Screen : System.Address) return Gdk_Colormap;
347
pragma Import (C, Internal, "gdk_screen_get_system_colormap");
349
return Internal (Get_Object (Screen));
350
end Get_System_Colormap;
352
-----------------------
353
-- Get_System_Visual --
354
-----------------------
356
function Get_System_Visual
357
(Screen : access Gdk_Screen_Record)
360
function Internal (Screen : System.Address) return Gdk_Visual;
361
pragma Import (C, Internal, "gdk_screen_get_system_visual");
363
return Internal (Get_Object (Screen));
364
end Get_System_Visual;
371
(Screen : access Gdk_Screen_Record)
374
function Internal (Screen : System.Address) return Gint;
375
pragma Import (C, Internal, "gdk_screen_get_width");
377
return Internal (Get_Object (Screen));
384
function Get_Width_Mm (Screen : access Gdk_Screen_Record) return Gint is
385
function Internal (Screen : System.Address) return Gint;
386
pragma Import (C, Internal, "gdk_screen_get_width_mm");
388
return Internal (Get_Object (Screen));
391
-----------------------
392
-- Make_Display_Name --
393
-----------------------
395
function Make_Display_Name
396
(Screen : access Gdk_Screen_Record)
399
function Internal (Screen : System.Address) return chars_ptr;
400
pragma Import (C, Internal, "gdk_screen_make_display_name");
401
Val : chars_ptr := Internal (Get_Object (Screen));
402
Result : constant String := Value (Val);
406
end Make_Display_Name;
408
--------------------------
409
-- Set_Default_Colormap --
410
--------------------------
412
procedure Set_Default_Colormap
413
(Screen : access Gdk_Screen_Record;
414
Colormap : Gdk_Colormap)
417
(Screen : System.Address;
418
Colormap : Gdk_Colormap);
419
pragma Import (C, Internal, "gdk_screen_set_default_colormap");
421
Internal (Get_Object (Screen), Colormap);
422
end Set_Default_Colormap;
428
procedure Warp_Pointer
429
(Display : access Gdk.Display.Gdk_Display_Record'Class;
430
Screen : access Gdk_Screen_Record;
434
procedure Internal (D, S : System.Address; X, Y : Gint);
435
pragma Import (C, Internal, "gdk_display_warp_pointer");
436
-- External binding: gdk_display_warp_pointer
438
Internal (Get_Object (Display), Get_Object (Screen), X, Y);