1----------------------------------------------------------------------- 2-- GtkAda - Ada95 binding for Gtk+/Gnome -- 3-- -- 4-- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- 5-- Copyright (C) 2000-2006 AdaCore -- 6-- -- 7-- This library is free software; you can redistribute it and/or -- 8-- modify it under the terms of the GNU General Public -- 9-- License as published by the Free Software Foundation; either -- 10-- version 2 of the License, or (at your option) any later version. -- 11-- -- 12-- This library is distributed in the hope that it will be useful, -- 13-- but WITHOUT ANY WARRANTY; without even the implied warranty of -- 14-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- 15-- General Public License for more details. -- 16-- -- 17-- You should have received a copy of the GNU General Public -- 18-- License along with this library; if not, write to the -- 19-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, -- 20-- Boston, MA 02111-1307, USA. -- 21-- -- 22-- As a special exception, if other files instantiate generics from -- 23-- this unit, or you link this unit with other files to produce an -- 24-- executable, this unit does not by itself cause the resulting -- 25-- executable to be covered by the GNU General Public License. This -- 26-- exception does not however invalidate any other reasons why the -- 27-- executable file might be covered by the GNU Public License. -- 28----------------------------------------------------------------------- 29 30-- <description> 31-- This package provides routines to handle initialization and set up of the 32-- Gdk library. 33-- </description> 34-- <c_version>1.3.6</c_version> 35-- <group>Gdk, the low-level API</group> 36 37with Glib; use Glib; 38 39with Gdk.Cursor; 40with Gdk.Event; 41with Gdk.Window; 42 43package Gdk.Main is 44 45 procedure Init; 46 -- Initialize the library for use. 47 -- The command line arguments are modified to reflect any arguments 48 -- which were not handled. (Such arguments should either 49 -- be handled by the application or dismissed). 50 51 procedure Gdk_Exit (Error_Code : Gint); 52 -- Restore the library to an un-itialized state and exits 53 -- the program using the "exit" system call. 54 -- Error_Code is the error value to pass to "exit". 55 -- Allocated structures are freed and the program exits cleanly. 56 -- This function is deprecated. 57 58 function Set_Locale return String; 59 -- Initialize handling of internationalization of strings. 60 -- See Gtkada.Intl for more details. 61 62 procedure Set_Locale; 63 -- Drops the string returned by the Set_Locale function; 64 65 procedure Set_Use_Xshm (Use_Xshm : Boolean := True); 66 -- Set whether shared memory (when supported by the graphic server) should 67 -- be used. 68 69 function Get_Use_Xshm return Boolean; 70 -- Return whether shared memory on the graphic server is used. 71 72 function Get_Display return String; 73 -- Return the name of the display. 74 75 type Gdk_Grab_Status is 76 (Grab_Success, 77 Grab_Already_Grabbed, 78 Gdk_Grab_Invalid_Time, 79 Gdk_Grab_Not_Viewable, 80 Gdk_Grab_Frozen); 81 82 function Pointer_Grab 83 (Window : Gdk.Window.Gdk_Window; 84 Owner_Events : Boolean := True; 85 Event_Mask : Gdk.Event.Gdk_Event_Mask; 86 Confine_To : Gdk.Window.Gdk_Window := Gdk.Window.Null_Window; 87 Cursor : Gdk.Cursor.Gdk_Cursor := Gdk.Cursor.Null_Cursor; 88 Time : Guint32 := 0) return Gdk_Grab_Status; 89 -- Grab the pointer to a specific window. 90 -- - Window is the window which will receive the grab 91 -- - Owner_Events specifies whether events will be reported as is, 92 -- or relative to Window 93 -- - Event_Mask masks only interesting events 94 -- - Confine_To limits the cursor movement to the specified window 95 -- - Cursor changes the cursor for the duration of the grab 96 -- - Time specifies the time 97 -- Requires a corresponding call to Pointer_Ungrab 98 99 procedure Pointer_Ungrab (Time : Guint32 := 0); 100 -- Release any pointer grab. 101 102 function Pointer_Is_Grabbed return Boolean; 103 -- Tell wether there is an active pointer grab in effect. 104 105 function Keyboard_Grab 106 (Window : Gdk.Window.Gdk_Window; 107 Owner_Events : Boolean := True; 108 Time : Guint32 := 0) return Gdk_Grab_Status; 109 -- Grab the keyboard to a specific window. 110 -- - Window is the window which will receive the grab 111 -- - Owner_Events specifies whether events will be reported as is, 112 -- or relative to Window 113 -- - Time specifies the time 114 -- Requires a corresponding call to Keyboard_Ungrab 115 116 procedure Keyboard_Ungrab (Time : Guint32 := 0); 117 -- Release any keyboard grab. 118 119 function Screen_Width return Gint; 120 -- Return the width of the screen. 121 122 function Screen_Height return Gint; 123 -- Return the height of the screen. 124 125 function Screen_Width_MM return Gint; 126 -- Return the width of the screen in millimeters. 127 128 function Screen_Height_MM return Gint; 129 -- Return the height of the screen in millimeters. 130 131 procedure Flush; 132 -- Flush the queue of graphic events and then wait 133 -- until all requests have been received and processed. 134 135 procedure Beep; 136 -- Emit a beep. 137 138 procedure Set_Double_Click_Time (Msec : Guint); 139 140private 141 pragma Import (C, Gdk_Exit, "gdk_exit"); 142 pragma Import (C, Screen_Width, "gdk_screen_width"); 143 pragma Import (C, Screen_Height, "gdk_screen_height"); 144 pragma Import (C, Screen_Width_MM, "gdk_screen_width_mm"); 145 pragma Import (C, Screen_Height_MM, "gdk_screen_height_mm"); 146 pragma Import (C, Set_Double_Click_Time, "gdk_set_double_click_time"); 147 pragma Import (C, Flush, "gdk_flush"); 148 pragma Import (C, Beep, "gdk_beep"); 149 150end Gdk.Main; 151 152-- missing: 153-- gdk_wcstombs 154-- gdk_mbstowcs 155