|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 130835 (0x1ff13)
Types: TextFile
Names: »V«
└─⟦25882cbde⟧ Bits:30000536 8mm tape, Rational 1000, RCI_RS6000_AIX_IBM 2_0_2
└─⟦b8efda8ac⟧ »DATA«
└─⟦7061b4ee8⟧
└─⟦dea849e77⟧
└─⟦this⟧
with System;
package X_Windows is
Bad_Request : exception;
Bad_Value : exception;
Bad_Window : exception;
Bad_Pixmap : exception;
Bad_Atom : exception;
Bad_Cursor : exception;
Bad_Font : exception;
Bad_Match : exception;
Bad_Drawable : exception;
Bad_Access : exception;
Bad_Alloc : exception;
Bad_Color : exception;
Bad_Gc : exception;
Bad_Id_Choice : exception;
Bad_Name : exception;
Bad_Length : exception;
Bad_Implementation : exception;
First_Extension_Error : exception;
Last_Extension_Error : exception;
type Display is private;
type Context is private;
type Screen is private;
type Visual is private;
type Drawable is private;
subtype Window is Drawable;
subtype Pixmap is Drawable;
type X_Id is private;
Null_Display : constant Display;
Null_Context : constant Context;
Null_Drawable : constant Drawable;
None : constant Drawable;
Copy_Drawable_From_Parent : constant Drawable;
Null_Window : constant Window;
Pointer_Window : constant Window;
Input_Focus_Window : constant Window;
Pointer_Root_Window : constant Window;
Null_Pixmap : constant Pixmap;
Parent_Relative : constant Pixmap;
Copy_Visual_From_Parent : constant Visual;
Null_X_Id : constant X_Id;
type Property_Format_Type is (Format_8, Format_16, Format_32);
type X_Short_Integer is range -2 ** 7 .. (2 ** 7) - 1;
type X_Integer is range -2 ** 15 .. (2 ** 15) - 1;
type X_Long_Integer is range -2 ** 31 .. (2 ** 31) - 1;
type Boolean_Array is array (Natural range <>) of Boolean;
type Byte is range 0 .. 255;
type Byte_Array is array (Natural range <>) of Byte;
type Bytes is access Byte_Array;
type Bit_Data is range 0 .. (2 ** 8) - 1;
for Bit_Data'Size use 8;
type Bit_Data_Array is array (Natural range <>) of Bit_Data;
type Bits is access Bit_Data_Array;
type Word is range 0 .. 65_535;
type Word_Array is array (Natural range <>) of Word;
type Words is access Word_Array;
type String_Pointer is access String;
type String_Pointer_Array is array (Natural range <>) of String_Pointer;
type String_List is access String_Pointer_Array;
type Long_Array is array (Natural range <>) of X_Long_Integer;
type X_Character is range 0 .. 255;
type String_8 is array (Positive range <>) of X_Character;
type String_Pointer_8 is access String_8;
type Time is range -2 ** 31 .. (2 ** 31) - 1;
type Angle is range 0 .. (360 * 64);
type Pixels is range -2 ** 31 .. (2 ** 31) - 1;
type Millimeters is range -2 ** 15 .. (2 ** 15) - 1;
subtype Coordinate is Pixels;
type Depth_Type is range 0 .. (2 ** 15) - 1;
type Screen_Number is range 0 .. (2 ** 15) - 1;
type Segment is
record
X_1, Y_1 : Coordinate := 0;
X_2, Y_2 : Coordinate := 0;
end record;
type Segment_Array is array (Natural range <>) of Segment;
type Point is
record
X, Y : Coordinate := 0;
end record;
type Point_Array is array (Natural range <>) of Point;
type Rectangle is
record
X, Y : Coordinate := 0;
Width : Pixels := 0;
Height : Pixels := 0;
end record;
type Rectangle_Array is array (Natural range <>) of Rectangle;
type Arc is
record
X, Y : Coordinate := 0;
Width : Pixels := 0;
Height : Pixels := 0;
Angle_1 : Angle := 0;
Angle_2 : Angle := 0;
end record;
type Arc_Array is array (Natural range <>) of Arc;
subtype Plane_Mask is Boolean_Array (0 .. 24);
type Plane_Mask_Array is array (Natural range <>) of Plane_Mask;
All_Planes : constant Plane_Mask := (0 .. 24 => False);
type Depth_Record is
record
Depth : Depth_Type;
Number_Of_Visuals : Natural;
Visuals : Visual;
end record;
type Pixmap_Format is (Xy_Bitmap, Xy_Pixmap, Z_Pixmap);
type Order_Type is (Lsb_First, Msb_First);
type Backing_Store_Type is (Not_Useful, When_Mapped, Always);
type Stack_Mode_Type is (Above, Below, Top_If, Bottom_If, Opposite);
package Atoms is
type Atom is private;
type Atom_Array is array (Natural range <>) of Atom;
type Atom_List is access Atom_Array;
Xa_Primary : constant Atom;
Xa_Secondary : constant Atom;
Xa_Arc : constant Atom;
Xa_Atom : constant Atom;
Xa_Bitmap : constant Atom;
Xa_Cardinal : constant Atom;
Xa_Colormap : constant Atom;
Xa_Cursor : constant Atom;
Xa_Cut_Buffer_0 : constant Atom;
Xa_Cut_Buffer_1 : constant Atom;
Xa_Cut_Buffer_2 : constant Atom;
Xa_Cut_Buffer_3 : constant Atom;
Xa_Cut_Buffer_4 : constant Atom;
Xa_Cut_Buffer_5 : constant Atom;
Xa_Cut_Buffer_6 : constant Atom;
Xa_Cut_Buffer_7 : constant Atom;
Xa_Drawable : constant Atom;
Xa_Font : constant Atom;
Xa_Integer : constant Atom;
Xa_Pixmap : constant Atom;
Xa_Point : constant Atom;
Xa_Rectangle : constant Atom;
Xa_Resource_Manager : constant Atom;
Xa_Rgb_Color_Map : constant Atom;
Xa_Rgb_Best_Map : constant Atom;
Xa_Rgb_Blue_Map : constant Atom;
Xa_Rgb_Default_Map : constant Atom;
Xa_Rgb_Gray_Map : constant Atom;
Xa_Rgb_Green_Map : constant Atom;
Xa_Rgb_Red_Map : constant Atom;
Xa_String : constant Atom;
Xa_Visual_Id : constant Atom;
Xa_Window : constant Atom;
Xa_Wm_Command : constant Atom;
Xa_Wm_Hints : constant Atom;
Xa_Wm_Client_Machine : constant Atom;
Xa_Wm_Icon_Name : constant Atom;
Xa_Wm_Icon_Size : constant Atom;
Xa_Wm_Name : constant Atom;
Xa_Wm_Normal_Hints : constant Atom;
Xa_Wm_Size_Hints : constant Atom;
Xa_Wm_Zoom_Hints : constant Atom;
Xa_Wm_Class : constant Atom;
Xa_Wm_Transient_Height : constant Atom;
Xa_Min_Space : constant Atom;
Xa_Norm_Space : constant Atom;
Xa_Max_Space : constant Atom;
Xa_End_Space : constant Atom;
Xa_Superscript_X : constant Atom;
Xa_Superscript_Y : constant Atom;
Xa_Subscript_X : constant Atom;
Xa_Subscript_Y : constant Atom;
Xa_Underline_Position : constant Atom;
Xa_Underline_Thickness : constant Atom;
Xa_Strikeout_Ascent : constant Atom;
Xa_Strikeout_Descent : constant Atom;
Xa_Italic_Angle : constant Atom;
Xa_X_Height : constant Atom;
Xa_Quad_Width : constant Atom;
Xa_Weight : constant Atom;
Xa_Point_Size : constant Atom;
Xa_Resolution : constant Atom;
Xa_Copyright : constant Atom;
Xa_Notice : constant Atom;
Xa_Font_Name : constant Atom;
Xa_Family_Name : constant Atom;
Xa_Full_Name : constant Atom;
Xa_Cap_Height : constant Atom;
Xa_Last_Predefined : constant Atom;
function Visual_Id_From_Visual (Visual_Id : in Visual) return X_Id;
function Intern_Atom (Display_Id : in Display;
Atom_Name : in String;
Only_If_Exists : in Boolean := True) return Atom;
function Get_Atom_Name
(Display_Id : in Display; Atom_Id : in Atom) return String;
private
type Atom is range 0 .. (2 ** 28) - 1;
Xa_Primary : constant Atom := 1;
Xa_Secondary : constant Atom := 2;
Xa_Arc : constant Atom := 3;
Xa_Atom : constant Atom := 4;
Xa_Bitmap : constant Atom := 5;
Xa_Cardinal : constant Atom := 6;
Xa_Colormap : constant Atom := 7;
Xa_Cursor : constant Atom := 8;
Xa_Cut_Buffer_0 : constant Atom := 9;
Xa_Cut_Buffer_1 : constant Atom := 10;
Xa_Cut_Buffer_2 : constant Atom := 11;
Xa_Cut_Buffer_3 : constant Atom := 12;
Xa_Cut_Buffer_4 : constant Atom := 13;
Xa_Cut_Buffer_5 : constant Atom := 14;
Xa_Cut_Buffer_6 : constant Atom := 15;
Xa_Cut_Buffer_7 : constant Atom := 16;
Xa_Drawable : constant Atom := 17;
Xa_Font : constant Atom := 18;
Xa_Integer : constant Atom := 19;
Xa_Pixmap : constant Atom := 20;
Xa_Point : constant Atom := 21;
Xa_Rectangle : constant Atom := 22;
Xa_Resource_Manager : constant Atom := 23;
Xa_Rgb_Color_Map : constant Atom := 24;
Xa_Rgb_Best_Map : constant Atom := 25;
Xa_Rgb_Blue_Map : constant Atom := 26;
Xa_Rgb_Default_Map : constant Atom := 27;
Xa_Rgb_Gray_Map : constant Atom := 28;
Xa_Rgb_Green_Map : constant Atom := 29;
Xa_Rgb_Red_Map : constant Atom := 30;
Xa_String : constant Atom := 31;
Xa_Visual_Id : constant Atom := 32;
Xa_Window : constant Atom := 33;
Xa_Wm_Command : constant Atom := 34;
Xa_Wm_Hints : constant Atom := 35;
Xa_Wm_Client_Machine : constant Atom := 36;
Xa_Wm_Icon_Name : constant Atom := 37;
Xa_Wm_Icon_Size : constant Atom := 38;
Xa_Wm_Name : constant Atom := 39;
Xa_Wm_Normal_Hints : constant Atom := 40;
Xa_Wm_Size_Hints : constant Atom := 41;
Xa_Wm_Zoom_Hints : constant Atom := 42;
Xa_Wm_Class : constant Atom := 67;
Xa_Wm_Transient_Height : constant Atom := 68;
Xa_Min_Space : constant Atom := 43;
Xa_Norm_Space : constant Atom := 44;
Xa_Max_Space : constant Atom := 45;
Xa_End_Space : constant Atom := 46;
Xa_Superscript_X : constant Atom := 47;
Xa_Superscript_Y : constant Atom := 48;
Xa_Subscript_X : constant Atom := 49;
Xa_Subscript_Y : constant Atom := 50;
Xa_Underline_Position : constant Atom := 51;
Xa_Underline_Thickness : constant Atom := 52;
Xa_Strikeout_Ascent : constant Atom := 53;
Xa_Strikeout_Descent : constant Atom := 54;
Xa_Italic_Angle : constant Atom := 55;
Xa_X_Height : constant Atom := 56;
Xa_Quad_Width : constant Atom := 57;
Xa_Weight : constant Atom := 58;
Xa_Point_Size : constant Atom := 59;
Xa_Resolution : constant Atom := 60;
Xa_Copyright : constant Atom := 61;
Xa_Notice : constant Atom := 62;
Xa_Font_Name : constant Atom := 63;
Xa_Family_Name : constant Atom := 64;
Xa_Full_Name : constant Atom := 65;
Xa_Cap_Height : constant Atom := 66;
Xa_Last_Predefined : constant Atom := Xa_Wm_Transient_Height;
end Atoms;
package Fonts is
type Font is private;
type Font_Direction is (Left_To_Right, Right_To_Left);
type Character_Record is
record
Left_Bearing : Pixels;
Right_Bearing : Pixels;
Width : Pixels;
Ascent : Pixels;
Descent : Pixels;
Attributes : Pixels;
end record;
type Character_Array is array (Natural range <>) of Character_Record;
type Character_List is access Character_Array;
type Font_Property_Record is
record
Name : Atoms.Atom;
Card_32 : X_Long_Integer;
end record;
type Font_Property_Array is
array (Natural range <>) of Font_Property_Record;
type Font_Property_List is access Font_Property_Array;
Null_Font_Id : constant Font;
type Font_Record is
record
Ext_Data : System.Address;
Font_Id : Font;
Direction : Font_Direction;
First_Char : X_Character;
Last_Char : X_Character;
First_Row : X_Character;
Last_Row : X_Character;
All_Exist : Boolean;
Default_Char : X_Character;
Properties : Font_Property_List;
Min_Bounds : Character_Record;
Max_Bounds : Character_Record;
Per_Char : Character_List;
Ascent : Pixels;
Descent : Pixels;
end record;
type Font_Record_Pointer is access Font_Record;
type Font_Record_Array is array (Natural range <>) of Font_Record;
type Font_Record_List is access Font_Record_Array;
type Character_2b is
record
Byte_1 : Byte;
Byte_2 : Byte;
end record;
type String_16 is array (Natural range <>) of Character_2b;
type String_Pointer_16 is access String_16;
function Load_Font (Display_Id : in Display; Font_Name : in String)
return Font;
function Query_Font (Display_Id : in Display; Font_Id : in Font)
return Font_Record;
procedure List_Fonts_With_Info
(Display_Id : in Display;
Pattern : in String;
Font_Info_List : in out Font_Record_List;
Names_List : in out String_List);
procedure Free_Font_Info (Names_List : in out String_List;
Font_Info_List : in out Font_Record_List);
function Load_Query_Font
(Display_Id : in Display; Font_Name : in String)
return Font_Record;
procedure Free_Font (Display_Id : in Display;
Font_Info : in out Font_Record);
procedure Get_Font_Property (Font_Info : in Font_Record;
Property : in Atoms.Atom;
Value : out X_Long_Integer;
Defined : out Boolean);
procedure Unload_Font (Display_Id : in Display; Font_Id : in Font);
procedure List_Fonts (Display_Id : in Display;
Pattern : in String;
Names : in out String_List);
procedure Free_Font_Names (Display_Id : in Display;
Directories : in out String_List);
procedure Set_Font_Path (Display_Id : in Display;
Directories : in String_List);
function Get_Font_Path (Display_Id : in Display) return String_List;
procedure Free_Font_Path (Directories : in out String_List);
function Text_Width (Font_Info : in Font_Record; Text : in String)
return Pixels;
function Text_Width (Font_Info : in Font_Record; Text : in String_8)
return Pixels;
function Text_Width_16 (Font_Info : in Font_Record; Text : in String_16)
return Pixels;
procedure Text_Extents (Font_Info : in Font_Record;
Text : in String;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
procedure Text_Extents (Font_Info : in Font_Record;
Text : in String_8;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
procedure Text_Extents_16 (Font_Info : in Font_Record;
Text : in String_16;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
procedure Query_Text_Extents (Display_Id : in Display;
Font_Id : in Font;
Text : in String;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
procedure Query_Text_Extents (Display_Id : in Display;
Font_Id : in Font;
Text : in String_8;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
procedure Query_Text_Extents_16 (Display_Id : in Display;
Font_Id : in Font;
Text : in String_16;
Direction : out Font_Direction;
Ascent : out Pixels;
Descent : out Pixels;
Overall : out Character_Record);
private
type Font is range 0 .. (2 ** 28) - 1;
Null_Font_Id : constant Font := Font (0);
end Fonts;
package Colors is
type Color_Map is private;
type Color_Map_Array is array (Natural range <>) of Color_Map;
type Color_Map_List is access Color_Map_Array;
Null_Color_Map : constant Color_Map;
Copy_Colormap_From_Parent : constant Color_Map;
type Color_Flag is array (Natural range 0 .. 2) of Boolean;
Do_Red : constant Color_Flag := Color_Flag'(0 => True, others => False);
Do_Green : constant Color_Flag :=
Color_Flag'(1 => True, others => False);
Do_Blue : constant Color_Flag :=
Color_Flag'(2 => True, others => False);
type Rgb_Value_Type is range 0 .. 65_535;
Full_Color : constant Rgb_Value_Type := Rgb_Value_Type'Last;
Half_Color : constant Rgb_Value_Type := Rgb_Value_Type'Last / 2;
Color_Off : constant Rgb_Value_Type := 0;
type Color_Record is
record
Value : X_Long_Integer := 0;
Red : Rgb_Value_Type := 0;
Green : Rgb_Value_Type := 0;
Blue : Rgb_Value_Type := 0;
Flags : Color_Flag;
end record;
type Color_Array is array (Natural range <>) of Color_Record;
type Pixel_Array is array (Natural range <>) of Pixels;
type Pixel_List is access Pixel_Array;
type Color_Map_Allocator is (Allocate_None, Allocate_All);
type Standard_Colormap_Record is
record
Map_Id : Colors.Color_Map;
Red_Max : Pixels;
Red_Mult : Pixels;
Green_Max : Pixels;
Green_Mult : Pixels;
Blue_Max : Pixels;
Blue_Mult : Pixels;
Base_Pixel : Pixels;
end record;
function Create_Colormap
(Display_Id : in Display;
Window_Id : in Window;
Visual_Id : in Visual;
Allocate : in Color_Map_Allocator) return Color_Map;
procedure Copy_Colormap_And_Free (Display_Id : in Display;
Source : in out Color_Map;
Target : out Color_Map);
procedure Free_Colormap (Display_Id : in Display;
Map_Id : in out Color_Map);
procedure Set_Window_Colormap (Display_Id : in Display;
Window_Id : in Window;
Map_Id : in Color_Map);
procedure Allocate_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Definition : in out Color_Record;
Success : out Boolean);
procedure Allocate_Named_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Color_Name : in String;
Screen_Def : out Color_Record;
Exact_Def : out Color_Record;
Success : out Boolean);
procedure Lookup_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Color_Name : in String;
Screen_Def : out Color_Record;
Exact_Def : out Color_Record;
Success : out Boolean);
procedure Store_Colors (Display_Id : in Display;
Map_Id : in Color_Map;
Colors : in out Color_Array);
procedure Store_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Screen_Def : in out Color_Record);
procedure Allocate_Color_Cells (Display_Id : in Display;
Map_Id : in Color_Map;
Contiguous : in Boolean;
Planes : in out Plane_Mask_Array;
Pixel_Values : in out Pixel_Array;
Success : out Boolean);
procedure Allocate_Color_Planes (Display_Id : in Display;
Map_Id : in Color_Map;
Contiguous : in Boolean;
Red_Shades : in Natural;
Green_Shades : in Natural;
Blue_Shades : in Natural;
Pixel_Values : in out Pixel_List;
Red_Mask : out Plane_Mask;
Green_Mask : out Plane_Mask;
Blue_Mask : out Plane_Mask;
Success : out Boolean);
procedure Store_Named_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Color_Name : in String;
Map_Entry : in Pixels;
Flags : in Color_Flag);
procedure Free_Colors (Display_Id : in Display;
Map_Id : in Color_Map;
Pixels_To_Free : in Pixel_Array;
Planes : in Plane_Mask);
procedure Query_Color (Display_Id : in Display;
Map_Id : in Color_Map;
The_Color : in out Color_Record);
procedure Query_Colors (Display_Id : in Display;
Map_Id : in Color_Map;
The_Colors : in out Color_Array);
procedure Install_Colormap
(Display_Id : in Display; Map_Id : in Color_Map);
procedure Uninstall_Colormap
(Display_Id : in Display; Map_Id : in Color_Map);
function List_Installed_Colormaps
(Display_Id : in Display; Window_Id : in Window)
return Color_Map_List;
procedure Parse_Color (Display_Id : in Display;
Map_Id : in Color_Map;
Color_Name : in String;
Screen_Def : out Color_Record;
Success : out Boolean);
procedure Get_Standard_Colormap
(Display_Id : in Display;
Window_Id : in Window;
Property : in Atoms.Atom;
Cmap_Return : out Standard_Colormap_Record;
Success : out Boolean);
procedure Set_Standard_Colormap (Display_Id : in Display;
Window_Id : in Window;
Cmap : in Standard_Colormap_Record;
Property : in Atoms.Atom);
private
type Color_Map is range 0 .. (2 ** 28) - 1;
for Color_Map'Size use 32;
Null_Color_Map : constant Color_Map := Color_Map (0);
Copy_Colormap_From_Parent : constant Color_Map := Color_Map (0);
end Colors;
package Graphic_Output is
type Graphic_Context is private;
type Image is private;
type Resource_Gc is private;
Image_Context : constant Image;
Null_Graphic_Context : constant Graphic_Context;
type Bitmap_Status_Type is (Bitmap_Success, Bitmap_Open_Failed,
Bitmap_File_Invalid, Bitmap_No_Memory);
type Gx_Function_Code is (Gx_Clear, Gx_And, Gx_And_Reverse, Gx_Copy,
Gx_And_Inverted, Gx_Noop, Gx_Xor,
Gx_Or, Gx_Nor, Gx_Equiv, Gx_Invert,
Gx_Or_Reverse, Gx_Copy_Inverted,
Gx_Or_Inverted, Gx_Nand, Gx_Set);
type Text_Item is
record
Characters : String_Pointer;
String_Delta : Pixels;
Font_Id : Fonts.Font;
end record;
type Text_Item_Array is array (Natural range <>) of Text_Item;
type Text_Item_List is access Text_Item_Array;
type Text_Item_8 is
record
Characters : String_Pointer_8;
String_Delta : Pixels;
Font_Id : Fonts.Font;
end record;
type Text_Item_8_Array is array (Natural range <>) of Text_Item_8;
type Text_Item_8_List is access Text_Item_8_Array;
type Text_Item_16 is
record
Characters : Fonts.String_Pointer_16;
String_Delta : Pixels;
Font_Id : Fonts.Font;
end record;
type Text_Item_16_Array is array (Natural range <>) of Text_Item_16;
type Text_Item_16_List is access Text_Item_16_Array;
type Line_Style_Type is
(Line_Solid, Line_On_Off_Dash, Line_Double_Dash);
type Cap_Style_Type is (Cap_Not_Last, Cap_Butt,
Cap_Round, Cap_Projecting);
type Join_Style_Type is (Join_Miter, Join_Round, Join_Bevel);
type Fill_Style_Type is (Fill_Solid, Fill_Tiled,
Fill_Stippled, Fill_Opaque_Stippled);
type Fill_Rule_Type is (Even_Odd_Rule, Winding_Rule);
type Shape_Class_Type is
(Tile_Shape_Class, Cursor_Shape_Class, Stipple_Shape_Class);
type Ordering_Type is (Unsorted, Y_Sorted, Yx_Sorted, Yx_Banded);
type Arc_Mode_Type is (Arc_Chord, Arc_Pie_Slice);
type Subwindow_Mode_Type is (Clip_By_Children, Include_Inferiors);
type Coordinate_Mode_Type is (Origin, Previous);
type Shape_Type is (Complex, Convex, Nonconvex);
subtype Gc_Mask_Type is Boolean_Array (0 .. 22);
Gc_Function : constant Gc_Mask_Type :=
Gc_Mask_Type'(0 => True, others => False);
Gc_Plane_Mask : constant Gc_Mask_Type :=
Gc_Mask_Type'(1 => True, others => False);
Gc_Foreground : constant Gc_Mask_Type :=
Gc_Mask_Type'(2 => True, others => False);
Gc_Background : constant Gc_Mask_Type :=
Gc_Mask_Type'(3 => True, others => False);
Gc_Line_Width : constant Gc_Mask_Type :=
Gc_Mask_Type'(4 => True, others => False);
Gc_Line_Style : constant Gc_Mask_Type :=
Gc_Mask_Type'(5 => True, others => False);
Gc_Cap_Style : constant Gc_Mask_Type :=
Gc_Mask_Type'(6 => True, others => False);
Gc_Join_Style : constant Gc_Mask_Type :=
Gc_Mask_Type'(7 => True, others => False);
Gc_Fill_Style : constant Gc_Mask_Type :=
Gc_Mask_Type'(8 => True, others => False);
Gc_Fill_Rule : constant Gc_Mask_Type :=
Gc_Mask_Type'(9 => True, others => False);
Gc_Tile : constant Gc_Mask_Type :=
Gc_Mask_Type'(10 => True, others => False);
Gc_Stipple : constant Gc_Mask_Type :=
Gc_Mask_Type'(11 => True, others => False);
Gc_Ts_X_Origin : constant Gc_Mask_Type :=
Gc_Mask_Type'(12 => True, others => False);
Gc_Ts_Y_Origin : constant Gc_Mask_Type :=
Gc_Mask_Type'(13 => True, others => False);
Gc_Font : constant Gc_Mask_Type :=
Gc_Mask_Type'(14 => True, others => False);
Gc_Subwindow_Mode : constant Gc_Mask_Type :=
Gc_Mask_Type'(15 => True, others => False);
Gc_Graphics_Exposure : constant Gc_Mask_Type :=
Gc_Mask_Type'(16 => True, others => False);
Gc_Clip_X_Origin : constant Gc_Mask_Type :=
Gc_Mask_Type'(17 => True, others => False);
Gc_Clip_Y_Origin : constant Gc_Mask_Type :=
Gc_Mask_Type'(18 => True, others => False);
Gc_Clip_Mask : constant Gc_Mask_Type :=
Gc_Mask_Type'(19 => True, others => False);
Cg_Dash_Offset : constant Gc_Mask_Type :=
Gc_Mask_Type'(20 => True, others => False);
Gc_Dash_List : constant Gc_Mask_Type :=
Gc_Mask_Type'(21 => True, others => False);
Gc_Arc_Mode : constant Gc_Mask_Type :=
Gc_Mask_Type'(22 => True, others => False);
type Gc_Value_Record is
record
Logical_Operation : Gx_Function_Code := Gx_Copy;
Plane : Plane_Mask := All_Planes;
Foreground : Pixels := 0;
Background : Pixels := 1;
Line_Width : Pixels := 0;
Line_Style : Line_Style_Type := Line_Solid;
Cap_Style : Cap_Style_Type := Cap_Butt;
Join_Style : Join_Style_Type := Join_Miter;
Fill_Style : Fill_Style_Type := Fill_Solid;
Fill_Rule : Fill_Rule_Type := Even_Odd_Rule;
Arc_Mode : Arc_Mode_Type := Arc_Pie_Slice;
Tile : Pixmap;
Stipple : Pixmap;
Ts_X_Origin : Coordinate := 0;
Ts_Y_Origin : Coordinate := 0;
Font_Id : Fonts.Font;
Subwindow_Mode : Subwindow_Mode_Type := Clip_By_Children;
Graphics_Exposures : Boolean := True;
Clip_X_Origin : Coordinate := 0;
Clip_Y_Origin : Coordinate := 0;
Clip_Mask : Pixmap;
Dash_Offset : Pixels := 0;
Dashes : X_Short_Integer := 4;
end record;
function Create_Gc (Display_Id : in Display;
Drawable_Id : in Drawable;
Value_Mask : in Gc_Mask_Type;
Values : in Gc_Value_Record) return Graphic_Context;
procedure Copy_Gc (Display_Id : in Display;
Value_Mask : in Gc_Mask_Type;
Source : in Graphic_Context;
Destination : in Graphic_Context);
procedure Change_Gc (Display_Id : in Display;
Gc : in Graphic_Context;
Value_Mask : in Gc_Mask_Type;
Values : in Gc_Value_Record);
procedure Free_Gc (Display_Id : in Display;
Gc : in out Graphic_Context);
procedure Set_State (Display_Id : in Display;
Gc : in Graphic_Context;
Foreground : in Pixels;
Background : in Pixels;
Gx_Function : in Gx_Function_Code;
Plane : in Plane_Mask);
procedure Set_Function (Display_Id : in Display;
Gc : in Graphic_Context;
Gx_Function : in Gx_Function_Code);
procedure Set_Plane_Mask (Display_Id : in Display;
Gc : in Graphic_Context;
Plane : in Plane_Mask);
procedure Set_Foreground (Display_Id : in Display;
Gc : in Graphic_Context;
Foreground : in Pixels);
procedure Set_Background (Display_Id : in Display;
Gc : in Graphic_Context;
Background : in Pixels);
procedure Set_Line_Attributes (Display_Id : in Display;
Gc : in Graphic_Context;
Line_Width : in Pixels;
Line_Style : in Line_Style_Type;
Cap_Style : in Cap_Style_Type;
Join_Style : in Join_Style_Type);
procedure Set_Dashes (Display_Id : in Display;
Gc : in Graphic_Context;
Dash_Offset : in Pixels;
Dash_List : in Bits);
procedure Set_Fill_Style (Display_Id : in Display;
Gc : in Graphic_Context;
Fill_Style : in Fill_Style_Type);
procedure Set_Fill_Rule (Display_Id : in Display;
Gc : in Graphic_Context;
Fill_Rule : in Fill_Rule_Type);
procedure Query_Best_Size (Display_Id : in Display;
Shape_Class : in Shape_Class_Type;
Which_Screen : in Drawable;
Width : in out Pixels;
Height : in out Pixels);
procedure Query_Best_Tile (Display_Id : in Display;
Which_Screen : in Drawable;
Width : in out Pixels;
Height : in out Pixels);
procedure Query_Best_Stipple (Display_Id : in Display;
Which_Screen : in Drawable;
Width : in out Pixels;
Height : in out Pixels);
procedure Set_Tile (Display_Id : in Display;
Gc : in Graphic_Context;
Tile : in Pixmap);
procedure Set_Stipple (Display_Id : in Display;
Gc : in Graphic_Context;
Stipple : in Pixmap);
procedure Set_Ts_Origin (Display_Id : in Display;
Gc : in Graphic_Context;
Origin : in Point);
procedure Set_Font (Display_Id : in Display;
Gc : in Graphic_Context;
Font_Id : in Fonts.Font);
procedure Set_Clip_Origin (Display_Id : in Display;
Gc : in Graphic_Context;
Origin : in Point);
procedure Set_Clip_Mask (Display_Id : in Display;
Gc : in Graphic_Context;
Clip_Mask : in Pixmap);
procedure Set_Clip_Rectangle (Display_Id : in Display;
Gc : in Graphic_Context;
Origin : in Point;
Rectangles : in Rectangle_Array;
Ordering : in Ordering_Type);
procedure Set_Arc_Mode (Display_Id : in Display;
Gc : in Graphic_Context;
Arc_Mode : in Arc_Mode_Type);
procedure Set_Subwindow_Mode (Display_Id : in Display;
Gc : in Graphic_Context;
Subwindow_Mode : in Subwindow_Mode_Type);
procedure Set_Graphics_Exposures (Display_Id : in Display;
Gc : in Graphic_Context;
Graphics_Exposures : in Boolean);
procedure Clear_Area (Display_Id : in Display;
Window_Id : in Window;
Bounds : in Rectangle;
Exposures : in Boolean);
procedure Clear_Window (Display_Id : in Display; Window_Id : in Window);
procedure Copy_Area (Display_Id : in Display;
Source : in Drawable;
Destination : in Drawable;
Gc : in Graphic_Context;
Source_Area : in Rectangle;
Dest_Origin : in Point);
procedure Copy_Plane (Display_Id : in Display;
Source : in Drawable;
Destination : in Drawable;
Gc : in Graphic_Context;
Source_Area : in Rectangle;
Dest_Origin : in Point;
Plane : in Plane_Mask);
procedure Draw_Point (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Xy : in Point);
procedure Draw_Points (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Points : in Point_Array;
Coordinate_Mode : in Coordinate_Mode_Type);
procedure Draw_Line (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Point_1 : in Point;
Point_2 : in Point);
procedure Draw_Lines (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Points : in Point_Array;
Coordinate_Mode : in Coordinate_Mode_Type);
procedure Draw_Segments (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Segments : in Segment_Array);
procedure Draw_Rectangle (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Rectangle);
procedure Draw_Rectangles (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Rectangle_Array);
procedure Draw_Arc (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Arc);
procedure Draw_Arcs (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Arc_Array);
procedure Fill_Rectangle (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Rectangle);
procedure Fill_Rectangles (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Rectangles : in Rectangle_Array);
procedure Fill_Polygon (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Points : in Point_Array;
Shape : in Shape_Type;
Coordinate_Mode : in Coordinate_Mode_Type);
procedure Fill_Arc (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Bounds : in Rectangle;
Angle_1 : in Angle;
Angle_2 : in Angle);
procedure Fill_Arcs (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Arcs : in Arc_Array);
procedure Draw_Text (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text_Items : in Text_Item_Array);
procedure Draw_Text (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text_Items : in Text_Item_8_Array);
procedure Draw_Text_16 (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text_Items : in Text_Item_16_Array);
procedure Draw_String (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in String);
procedure Draw_String (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in String_8);
procedure Draw_String_16 (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in Fonts.String_16);
procedure Draw_Image_String (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in String);
procedure Draw_Image_String (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in String_8);
procedure Draw_Image_String_16 (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
Baseline : in Point;
Text : in Fonts.String_16);
procedure Put_Image (Display_Id : in Display;
Drawable_Id : in Drawable;
Gc : in Graphic_Context;
X_Image : in Image;
Source_Xy : in Point;
Destination : in Rectangle);
function Get_Image (Display_Id : in Display;
Drawable_Id : in Drawable;
Source : in Rectangle;
Planes : in Plane_Mask;
Format : in Pixmap_Format) return Image;
function Get_Subimage (Display_Id : in Display;
Drawable_Id : in Drawable;
Source : in Rectangle;
Planes : in Plane_Mask;
Format : in Pixmap_Format;
Dest_Origin : in Point;
Destination : in Image) return Image;
function Create_Image (Display_Id : in Display;
Visual_Id : in Visual;
Depth : in Depth_Type;
Format : in Pixmap_Format;
Offset : in Pixels;
Data : in Bits;
Width : in Pixels;
Height : in Pixels;
Scanline_Pad : in Pixels;
Scanline_Length : in Pixels) return Image;
function Get_Pixel (X_Image : in Image; Xy : in Point) return Pixels;
procedure Put_Pixel
(X_Image : in Image; Xy : in Point; Pixel : in Pixels);
function Sub_Image
(X_Image : in Image; Bounds : in Rectangle) return Image;
procedure Add_Pixel (X_Image : in Image; Value : in Pixels);
procedure Destroy_Image (X_Image : in out Image);
procedure Read_Bitmap_File (Display_Id : in Display;
Drawable_Id : in Drawable;
Filename : in String;
Width : out Pixels;
Height : out Pixels;
Hot_Spot : out Point;
Bitmap : out Pixmap;
Status : out Bitmap_Status_Type);
function Write_Bitmap_File
(Display_Id : in Display;
Filename : in String;
Bitmap : in Pixmap;
Width : in Pixels;
Height : in Pixels;
Hot_Spot : in Point) return Bitmap_Status_Type;
function Create_Bitmap_From_Data (Display_Id : in Display;
Drawable_Id : in Drawable;
Data : in Bits;
Width : in Pixels;
Height : in Pixels) return Pixmap;
function Create_Pixmap_From_Bitmap_Data
(Display_Id : in Display;
Drawable_Id : in Drawable;
Data : in Bits;
Width : in Pixels;
Height : in Pixels;
Foreground : in Pixels;
Background : in Pixels;
Depth : in Depth_Type) return Pixmap;
function Resource_Gc_From_Graphic_Context
(Gc : in Graphic_Context) return Resource_Gc;
private
type Gc_Record;
type Graphic_Context is access Gc_Record;
Null_Graphic_Context : constant Graphic_Context := null;
type Image_Record;
type Image is access Image_Record;
Image_Context : constant Image := null;
type Resource_Gc is range 0 .. (2 ** 28) - 1;
end Graphic_Output;
package Cursors is
type Cursor is private;
Null_Cursor : constant Cursor;
subtype Cursor_Shape is X_Character;
X_Cursor : constant Cursor_Shape := 0;
Arrow : constant Cursor_Shape := 2;
Based_Arrow_Down : constant Cursor_Shape := 4;
Based_Arrow_Up : constant Cursor_Shape := 6;
Boat : constant Cursor_Shape := 8;
Bogosity : constant Cursor_Shape := 10;
Bottom_Left_Corner : constant Cursor_Shape := 12;
Bottom_Right_Corner : constant Cursor_Shape := 14;
Bottom_Side : constant Cursor_Shape := 16;
Bottom_Tee : constant Cursor_Shape := 18;
Box_Spiral : constant Cursor_Shape := 20;
Center_Ptr : constant Cursor_Shape := 22;
Circle : constant Cursor_Shape := 24;
Clock : constant Cursor_Shape := 26;
Coffee_Mug : constant Cursor_Shape := 28;
Cross : constant Cursor_Shape := 30;
Cross_Reverse : constant Cursor_Shape := 32;
Crosshair : constant Cursor_Shape := 34;
Diamond_Cross : constant Cursor_Shape := 36;
Dot : constant Cursor_Shape := 38;
Dot_Box_Mask : constant Cursor_Shape := 40;
Double_Arrow : constant Cursor_Shape := 42;
Draft_Large : constant Cursor_Shape := 44;
Draft_Small : constant Cursor_Shape := 46;
Draped_Box : constant Cursor_Shape := 48;
Exchange : constant Cursor_Shape := 50;
Fleur : constant Cursor_Shape := 52;
Gobbler : constant Cursor_Shape := 54;
Gumby : constant Cursor_Shape := 56;
Hand : constant Cursor_Shape := 58;
Handl_Mask : constant Cursor_Shape := 60;
Heart : constant Cursor_Shape := 62;
Icon : constant Cursor_Shape := 64;
Iron_Cross : constant Cursor_Shape := 66;
Left_Ptr : constant Cursor_Shape := 68;
Left_Side : constant Cursor_Shape := 70;
Left_Tee : constant Cursor_Shape := 72;
Leftbutton : constant Cursor_Shape := 74;
Ll_Angle : constant Cursor_Shape := 76;
Lr_Angle : constant Cursor_Shape := 78;
Man : constant Cursor_Shape := 80;
Middlebutton : constant Cursor_Shape := 82;
Mouse : constant Cursor_Shape := 84;
Pencil : constant Cursor_Shape := 86;
Pirate : constant Cursor_Shape := 88;
Plus : constant Cursor_Shape := 90;
Question_Arrow : constant Cursor_Shape := 92;
Right_Ptr : constant Cursor_Shape := 94;
Right_Side : constant Cursor_Shape := 96;
Right_Tee : constant Cursor_Shape := 98;
Rightbutton : constant Cursor_Shape := 100;
Rtl_Logo : constant Cursor_Shape := 102;
Sailboat : constant Cursor_Shape := 104;
Sb_Down_Arrow : constant Cursor_Shape := 106;
Sb_H_Double_Arrow : constant Cursor_Shape := 108;
Sb_Left_Arrow : constant Cursor_Shape := 110;
Sb_Right_Arrow : constant Cursor_Shape := 112;
Sb_Up_Arrow : constant Cursor_Shape := 114;
Sb_V_Double_Arrow : constant Cursor_Shape := 116;
Shuttle : constant Cursor_Shape := 118;
Sizing : constant Cursor_Shape := 120;
Spider : constant Cursor_Shape := 122;
Spraycan : constant Cursor_Shape := 124;
Star : constant Cursor_Shape := 126;
Target : constant Cursor_Shape := 128;
Tcross : constant Cursor_Shape := 130;
Top_Left_Arrow : constant Cursor_Shape := 132;
Top_Left_Corner : constant Cursor_Shape := 134;
Top_Right_Corner : constant Cursor_Shape := 136;
Top_Side : constant Cursor_Shape := 138;
Top_Tee : constant Cursor_Shape := 140;
Trek : constant Cursor_Shape := 142;
Ul_Angle : constant Cursor_Shape := 144;
Umbrella : constant Cursor_Shape := 146;
Ur_Angle : constant Cursor_Shape := 148;
Watch : constant Cursor_Shape := 150;
Xterm : constant Cursor_Shape := 152;
Num_Glyphs : constant Cursor_Shape := 154;
function Create_Font_Cursor
(Display_Id : in Display; Shape : in Cursor_Shape)
return Cursor;
function Create_Pixmap_Cursor (Display_Id : in Display;
Source : in Pixmap;
Mask : in Pixmap;
Foreground : in Colors.Color_Record;
Background : in Colors.Color_Record;
Hot_Spot : in Point) return Cursor;
function Create_Glyph_Cursor
(Display_Id : in Display;
Source_Font : in Fonts.Font;
Mask_Font : in Fonts.Font;
Source_Glyph : in X_Character;
Mask_Glyph : in X_Character;
Foreground : in Colors.Color_Record;
Background : in Colors.Color_Record) return Cursor;
procedure Recolor_Cursor (Display_Id : in Display;
Cursor_Id : in Cursor;
Foreground : in Colors.Color_Record;
Background : in Colors.Color_Record);
procedure Free_Cursor (Display_Id : in Display;
Cursor_Id : in out Cursor);
procedure Query_Best_Cursor (Display_Id : in Display;
Drawable_Id : in Drawable;
Width : in out Pixels;
Height : in out Pixels);
procedure Define_Cursor (Display_Id : in Display;
Window_Id : in Window;
Cursor_Id : in Cursor);
procedure Undefine_Cursor
(Display_Id : in Display; Window_Id : in Window);
private
type Cursor is range 0 .. (2 ** 28) - 1;
Null_Cursor : constant Cursor := Cursor (0);
end Cursors;
package Cut_And_Paste is
procedure Store_Buffer (Display_Id : in Display;
Data : in Bytes;
Number_Of_Bytes : in Positive;
To_Buffer : in Natural := 0);
function Fetch_Buffer
(Display_Id : in Display; From_Buffer : in Natural := 0)
return Bytes;
procedure Rotate_Buffers (Display_Id : in Display; By : in Integer);
end Cut_And_Paste;
package Regions is
type Region is private;
Null_Region : constant Region;
function Polygon_Region
(Points : in Point_Array;
Rule : in Graphic_Output.Fill_Rule_Type) return Region;
procedure Clip_Box (Region_Id : in Region; Bounds : in out Rectangle);
function Create_Region return Region;
procedure Set_Region (Display_Id : in Display;
Gc : in Graphic_Output.Graphic_Context;
Region_Id : in Region);
procedure Destroy_Region (Region_Id : in out Region);
procedure Offset_Region (Region_Id : in Region; Delta_Xy : in Point);
procedure Shrink_Region (Region_Id : in Region; Delta_Xy : in Point);
procedure Intersect_Region (Source_A : in Region;
Source_B : in Region;
Destination : in Region);
procedure Union_Region (Source_A : in Region;
Source_B : in Region;
Destination : in Region);
procedure Union_Rectangle_With_Region (Source_A : in Region;
Source_B : in Region;
Destination : in Region);
procedure Subtract_Region (Source_A : in Region;
Source_B : in Region;
Destination : in Region);
procedure Xor_Region (Source_A : in Region;
Source_B : in Region;
Destination : in Region);
function Empty_Region (Region_Id : in Region) return Boolean;
function Equal_Region (Region_1, Region_2 : in Region) return Boolean;
function Point_In_Region
(Region_Id : in Region; Xy : in Point) return Boolean;
function Rectangle_In_Region
(Region_Id : in Region; Bounds : in Rectangle)
return Boolean;
private
type Region is range 0 .. (2 ** 28) - 1;
Null_Region : constant Region := Region (0);
end Regions;
package Keyboard is
type Keycode is range 8 .. 255;
type Keycode_Array is array (Natural range <>) of Keycode;
type Key_Sym is range 0 .. (2 ** 28) - 1;
type Key_Sym_Array is array (Natural range <>) of Key_Sym;
type Key_Sym_List is access Key_Sym_Array;
type Keyboard_Encoding_Array is
array (Keycode range <>) of Key_Sym_List;
type Key_Vector_Mask_Type is
array (Keycode range Keycode'First .. Keycode'Last) of Boolean;
type Milliseconds_Type is range -1 .. 5_000;
type Bell_Volume_Type is range -100 .. 100;
type Percent_Type is range -1 .. 100;
type Hertz_Type is range -1 .. 1000;
type Led_Mode_Type is (Led_Mode_Off, Led_Mode_On);
type Led_Type is range 1 .. 32;
subtype Led_Mask_Type is Boolean_Array (0 .. 31);
type Auto_Repeat_Mode_Type is
(Auto_Repeat_Off, Auto_Repeat_On, Auto_Repeat_Default);
type Keyboard_Control_Record is
record
Key_Click_Percent : Percent_Type;
Bell_Volume : Bell_Volume_Type;
Bell_Pitch : Hertz_Type;
Bell_Duration : Milliseconds_Type;
Led : Led_Type;
Led_Mode : Led_Mode_Type;
Key : Keycode;
Auto_Repeat_Mode : Auto_Repeat_Mode_Type;
end record;
subtype Keyboard_Control_Mask is Boolean_Array (0 .. 7);
Key_Click_Percent_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(0 => True, others => False);
Bell_Volume_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(1 => True, others => False);
Bell_Pitch_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(2 => True, others => False);
Bell_Duration_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(3 => True, others => False);
Led_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(4 => True, others => False);
Led_Mode_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(5 => True, others => False);
Keycode_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(6 => True, others => False);
Auto_Repeat_Mode_Mask : constant Keyboard_Control_Mask :=
Keyboard_Control_Mask'(7 => True, others => False);
type Keyboard_State_Record is
record
Key_Click_Percent : Percent_Type;
Bell_Volume : Bell_Volume_Type;
Bell_Pitch : Hertz_Type;
Bell_Duration : Milliseconds_Type;
Led_Mask : Led_Mask_Type;
Global_Auto_Repeat : Auto_Repeat_Mode_Type;
Auto_Repeats : Key_Vector_Mask_Type;
end record;
type Modifier_Type is (Lock, Shift, Control, Mod_1,
Mod_2, Mod_3, Mod_4, Mod_5);
type Modifier_Key_Record (Max_Keys_Per_Mod : Natural) is
record
Modifier_Map : Keycode_Array (0 .. Max_Keys_Per_Mod);
end record;
type Modifier_Keymap is access Modifier_Key_Record;
procedure Display_Keycodes (Display_Id : in Display;
Min_Keycodes : out Keycode;
Max_Keycodes : out Keycode);
procedure Rebind_Keysym (Display_Id : in X_Windows.Display;
The_Symbol : in Key_Sym;
Modifiers : in Key_Sym_List;
Text : in String);
function String_To_Keysym (Name : in String) return Key_Sym;
function Keysym_To_String (The_Symbol : in Key_Sym) return String;
procedure Keycode_To_Keysym (Display_Id : in Display;
Key_Code : in Keycode;
Key : out Keycode;
The_Symbol : out Key_Sym);
function Keysym_To_Keycode
(Display_Id : in Display; The_Symbol : in Key_Sym)
return Keycode;
procedure Change_Keyboard_Control
(Display_Id : in Display;
Value_Mask : in Keyboard_Control_Mask;
Values : in Keyboard_Control_Record);
function Get_Keyboard_Control
(Display_Id : in Display) return Keyboard_State_Record;
procedure Auto_Repeat_On (Display_Id : in Display);
procedure Auto_Repeat_Off (Display_Id : in Display);
procedure Bell (Display_Id : in Display; Volume : in Bell_Volume_Type);
function Query_Keymap (Display_Id : in Display)
return Keyboard.Key_Vector_Mask_Type;
procedure Get_Keyboard_Mapping (Display_Id : in Display;
Syms : in out Keyboard_Encoding_Array);
procedure Change_Keyboard_Mapping (Display_Id : in Display;
Syms : in Keyboard_Encoding_Array);
function Set_Modifier_Mapping
(Display_Id : in Display; Modifiers : in Modifier_Keymap)
return Boolean;
procedure Insert_Modifier_Map_Entry (Map : in out Modifier_Keymap;
Key : in Keycode;
Modifier : in Modifier_Type);
procedure Delete_Modifier_Map_Entry (Map : in out Modifier_Keymap;
Key : in Keycode;
Modifier : in Modifier_Type);
function Get_Modifier_Mapping
(Display_Id : in Display) return Modifier_Keymap;
function Is_Keypad_Key (Sym : in Key_Sym) return Boolean;
function Is_Cursor_Key (Sym : in Key_Sym) return Boolean;
function Is_Pf_Key (Sym : in Key_Sym) return Boolean;
function Is_Function_Key (Sym : in Key_Sym) return Boolean;
function Is_Misc_Function_Key (Sym : in Key_Sym) return Boolean;
function Is_Modifier_Key (Sym : in Key_Sym) return Boolean;
pragma Inline (Is_Keypad_Key, Is_Cursor_Key, Is_Pf_Key,
Is_Function_Key, Is_Misc_Function_Key, Is_Modifier_Key);
end Keyboard;
package Events is
type Event_Queue_Mode_Type is
(Queued_Already, Queued_After_Flush, Queued_After_Reading);
type Event_Type is (Unused_Event_1, Unused_Event_2, Key_Press,
Key_Release, Button_Press, Button_Release,
Motion_Notify, Enter_Notify, Leave_Notify,
Focus_In, Focus_Out, Keymap_Notify, Expose,
Graphics_Expose, No_Expose, Visibility_Notify,
Create_Notify, Destroy_Notify, Unmap_Notify,
Map_Notify, Map_Request, Reparent_Notify,
Configure_Notify, Configure_Request, Gravity_Notify,
Resize_Request, Circulate_Notify, Circulate_Request,
Property_Notify, Selection_Clear, Selection_Request,
Selection_Notify, Colormap_Notify,
Client_Message, Mapping_Notify, Last_Event);
subtype Event_Mask_Type is Boolean_Array (0 .. 31);
No_Event_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(others => False);
Key_Press_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(0 => True, others => False);
Key_Release_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(1 => True, others => False);
Button_Press_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(2 => True, others => False);
Button_Release_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(3 => True, others => False);
Enter_Window_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(4 => True, others => False);
Leave_Window_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(5 => True, others => False);
Pointer_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(6 => True, others => False);
Pointer_Motion_Hint_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(7 => True, others => False);
Button_1_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(8 => True, others => False);
Button_2_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(9 => True, others => False);
Button_3_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(10 => True, others => False);
Button_4_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(11 => True, others => False);
Button_5_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(12 => True, others => False);
Button_Motion_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(13 => True, others => False);
Keymap_State_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(14 => True, others => False);
Exposure_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(15 => True, others => False);
Visibility_Change_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(16 => True, others => False);
Structure_Change_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(17 => True, others => False);
Resize_Redirect_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(18 => True, others => False);
Substructure_Notify_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(19 => True, others => False);
Substructure_Redirect_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(20 => True, others => False);
Focus_Change_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(21 => True, others => False);
Property_Change_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(22 => True, others => False);
Colormap_Change_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(23 => True, others => False);
Owner_Grab_Button_Mask : constant Event_Mask_Type :=
Event_Mask_Type'(24 => True, others => False);
subtype Key_And_Button_Mask is Boolean_Array (0 .. 15);
Shift_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(0 => True, others => False);
Lock_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(1 => True, others => False);
Control_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(2 => True, others => False);
Mod_1_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(3 => True, others => False);
Mod_2_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(4 => True, others => False);
Mod_3_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(5 => True, others => False);
Mod_4_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(6 => True, others => False);
Mod_5_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(7 => True, others => False);
Button_1_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(8 => True, others => False);
Button_2_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(9 => True, others => False);
Button_3_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(10 => True, others => False);
Button_4_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(11 => True, others => False);
Button_5_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(12 => True, others => False);
Any_Modifier_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(15 => True, others => False);
Any_Button_Mask : constant Key_And_Button_Mask :=
Key_And_Button_Mask'(others => False);
type Button_Name_Type is (Any_Button, Button_1, Button_2,
Button_3, Button_4, Button_5);
type Notify_Mode_Type is (Notify_Normal, Notify_Grab,
Notify_Ungrab, Notify_While_Grabbed);
Notify_Hint : constant Notify_Mode_Type := Notify_Grab;
type Notify_Detail_Type is (Notify_Ancestor, Notify_Virtual,
Notify_Inferior, Notify_Nonlinear,
Notify_Nonlinear_Virtual, Notify_Pointer,
Notify_Pointer_Root, Notify_Detail_None);
type Mapping_Request_Type is
(Mapping_Modifier, Mapping_Keyboard, Mapping_Pointer);
type Colormap_State_Type is (Uninstalled, Installed);
type Property_State_Type is (New_Value, Delete);
type Placement_Type is (Place_On_Top, Place_On_Bottom);
subtype Configure_Request_Mask_Type is Boolean_Array (0 .. 8);
type Visibility_Type is (Visibility_Unobscured,
Visibility_Partially_Obscured,
Visibility_Full_Obscured);
type Graphic_Expose_Code_Type is range 0 .. (2 ** 16 - 1);
X_Copy_Area : constant Graphic_Expose_Code_Type := 62;
X_Copy_Plane : constant Graphic_Expose_Code_Type := 63;
type Event_Record (Kind : Event_Type := Enter_Notify);
type Event is access Event_Record;
type Any_Event_Record is
record
Window_Id : Window;
end record;
type Any_Event is access Any_Event_Record;
type Key_Event_Record is
record
Window_Id : Window;
Root : Window;
Subwindow : Window;
Event_Time : Time;
X : Coordinate;
Y : Coordinate;
X_Root : Coordinate;
Y_Root : Coordinate;
State : Key_And_Button_Mask;
Key_Code : Keyboard.Keycode;
Same_Screen : Boolean;
end record;
type Key_Event is access Key_Event_Record;
type Button_Event_Record is
record
Window_Id : Window;
Root : Window;
Subwindow : Window;
Event_Time : Time;
X : Coordinate;
Y : Coordinate;
X_Root : Coordinate;
Y_Root : Coordinate;
State : Key_And_Button_Mask;
Button : Button_Name_Type;
Same_Screen : Boolean;
end record;
type Button_Event is access Button_Event_Record;
type Motion_Event_Record is
record
Window_Id : Window;
Root : Window;
Subwindow : Window;
Event_Time : Time;
X : Coordinate;
Y : Coordinate;
X_Root : Coordinate;
Y_Root : Coordinate;
State : Key_And_Button_Mask;
Is_Hint : Notify_Mode_Type;
Same_Screen : Boolean;
end record;
type Motion_Event is access Motion_Event_Record;
type Crossing_Event_Record is
record
Window_Id : Window;
Root : Window;
Subwindow : Window;
Event_Time : Time;
X : Coordinate;
Y : Coordinate;
X_Root : Coordinate;
Y_Root : Coordinate;
Mode : Notify_Mode_Type;
Detail : Notify_Detail_Type;
Same_Screen : Boolean;
Focus : Boolean;
State : Key_And_Button_Mask;
end record;
type Crossing_Event is access Crossing_Event_Record;
type Focus_Change_Event_Record is
record
Window_Id : Window;
Mode : Notify_Mode_Type;
Detail : Notify_Detail_Type;
end record;
type Focus_Change_Event is access Focus_Change_Event_Record;
type Keymap_Event_Record is
record
Window_Id : Window;
Key_Vector : Keyboard.Key_Vector_Mask_Type;
end record;
type Keymap_Event is access Keymap_Event_Record;
type Expose_Event_Record is
record
Window_Id : Window;
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Count : Natural;
end record;
type Expose_Event is access Expose_Event_Record;
type Graphics_Expose_Event_Record is
record
D : Drawable;
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Count : Natural;
Major_Code : Graphic_Expose_Code_Type;
Minor_Code : Graphic_Expose_Code_Type;
end record;
type Graphics_Expose_Event is access Graphics_Expose_Event_Record;
type No_Expose_Event_Record is
record
D : Drawable;
Major_Code : Graphic_Expose_Code_Type;
Minor_Code : Graphic_Expose_Code_Type;
end record;
type No_Expose_Event is access No_Expose_Event_Record;
type Visibility_Event_Record is
record
Window_Id : Window;
State : Visibility_Type;
end record;
type Visibility_Event is access Visibility_Event_Record;
type Create_Window_Event_Record is
record
Parent : Window;
Window_Id : Window;
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Border_Width : Pixels;
Override_Redirect : Boolean;
end record;
type Create_Window_Event is access Create_Window_Event_Record;
type Destroy_Window_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
end record;
type Destroy_Window_Event is access Destroy_Window_Event_Record;
type Unmap_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
From_Configure : Boolean;
end record;
type Unmap_Event is access Unmap_Event_Record;
type Map_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
Override_Redirect : Boolean;
end record;
type Map_Event is access Map_Event_Record;
type Map_Request_Event_Record is
record
Parent : Window;
Window_Id : Window;
end record;
type Map_Request_Event is access Map_Request_Event_Record;
type Reparent_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
Parent : Window;
X : Coordinate;
Y : Coordinate;
Override_Redirect : Boolean;
end record;
type Reparent_Event is access Reparent_Event_Record;
type Resize_Request_Event_Record is
record
Window_Id : Window;
Width : Pixels;
Height : Pixels;
end record;
type Resize_Request_Event is access Resize_Request_Event_Record;
type Gravity_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
X : Coordinate;
Y : Coordinate;
end record;
type Gravity_Event is access Gravity_Event_Record;
type Configure_Event_Record is
record
Event_Window : Window;
Window_Id : Window;
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Border_Width : Pixels;
Above : Window;
Override_Redirect : Boolean;
end record;
type Configure_Event is access Configure_Event_Record;
type Configure_Request_Event_Record is
record
Parent : Window;
Window_Id : Window;
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Border_Width : Pixels;
Above : Window;
Detail : Stack_Mode_Type;
Value_Mask : Configure_Request_Mask_Type;
end record;
type Configure_Request_Event is access Configure_Request_Event_Record;
type Circulate_Event_Record is
record
Parent : Window;
Window_Id : Window;
Place : Placement_Type;
end record;
type Circulate_Event is access Circulate_Event_Record;
type Circulate_Request_Event_Record is
record
Parent : Window;
Window_Id : Window;
Place : Placement_Type;
end record;
type Circulate_Request_Event is access Circulate_Request_Event_Record;
type Property_Event_Record is
record
Window_Id : Window;
Atom_Id : Atoms.Atom;
Time_Stamp : Time;
State : Property_State_Type;
end record;
type Property_Event is access Property_Event_Record;
type Selection_Clear_Event_Record is
record
Owner : Window;
Selection : Atoms.Atom;
Time_Stamp : Time;
end record;
type Selection_Clear_Event is access Selection_Clear_Event_Record;
type Selection_Request_Event_Record is
record
Owner : Window;
Requestor : Window;
Selection : Atoms.Atom;
Target : Atoms.Atom;
Property : Atoms.Atom;
Time_Stamp : Time;
end record;
type Selection_Request_Event is access Selection_Request_Event_Record;
type Selection_Event_Record is
record
Requestor : Window;
Selection : Atoms.Atom;
Target : Atoms.Atom;
Property : Atoms.Atom;
Time_Stamp : Time;
end record;
type Selection_Event is access Selection_Event_Record;
type Colormap_Event_Record is
record
Window_Id : Window;
Colormap : Colors.Color_Map;
New_Map : Boolean;
State : Colormap_State_Type;
end record;
type Colormap_Event is access Colormap_Event_Record;
type Client_Message_Event_Record is
record
Window_Id : Window;
Message_Type : Atoms.Atom;
Format : Property_Format_Type;
Data : Long_Array (1 .. 5);
end record;
type Client_Message_Event is access Client_Message_Event_Record;
type Mapping_Event_Record is
record
Window_Id : Window;
Request : Mapping_Request_Type;
First_Keycode : Keyboard.Keycode;
Count : Keyboard.Keycode;
end record;
type Mapping_Event is access Mapping_Event_Record;
type Event_Record (Kind : Event_Type := Enter_Notify) is
record
Serial : X_Long_Integer;
Send_Event : Boolean;
Display_Id : Display;
case Kind is
when Button_Press | Button_Release =>
Button : Button_Event_Record;
when Circulate_Notify =>
Circulate : Circulate_Event_Record;
when Circulate_Request =>
Circulate_Reqst : Circulate_Request_Event_Record;
when Client_Message =>
Client : Client_Message_Event_Record;
when Colormap_Notify =>
Colormap : Colormap_Event_Record;
when Configure_Notify =>
Configure : Configure_Event_Record;
when Configure_Request =>
Configure_Reqst : Configure_Request_Event_Record;
when Create_Notify =>
Create_Window : Create_Window_Event_Record;
when Destroy_Notify =>
Destroy_Window : Destroy_Window_Event_Record;
when Enter_Notify | Leave_Notify =>
Crossing : Crossing_Event_Record;
when Expose =>
Expose_Notify : Expose_Event_Record;
when Focus_In | Focus_Out =>
Focus : Focus_Change_Event_Record;
when Graphics_Expose =>
Graphics : Graphics_Expose_Event_Record;
when Gravity_Notify =>
Gravity : Gravity_Event_Record;
when Key_Press | Key_Release =>
Key : Key_Event_Record;
when Keymap_Notify =>
Keymap : Keymap_Event_Record;
when Map_Notify | Mapping_Notify =>
Map : Map_Event_Record;
when Map_Request =>
Map_Reqst : Map_Request_Event_Record;
when Motion_Notify =>
Motion : Motion_Event_Record;
when No_Expose =>
Noexpose : No_Expose_Event_Record;
when Property_Notify =>
Property : Property_Event_Record;
when Reparent_Notify =>
Reparent : Reparent_Event_Record;
when Resize_Request =>
Resize_Reqst : Resize_Request_Event_Record;
when Selection_Clear =>
Selection_Clr : Selection_Clear_Event_Record;
when Selection_Notify =>
Selection : Selection_Event_Record;
when Selection_Request =>
Selection_Reqst : Selection_Request_Event_Record;
when Unmap_Notify =>
Unmap : Unmap_Event_Record;
when Visibility_Notify =>
Visibility : Visibility_Event_Record;
when others =>
Any : Any_Event_Record;
end case;
end record;
type Time_Coord_Record is
record
X, Y : Coordinate;
Timestamp : Time;
end record;
type Time_Coord_Array is array (Natural range <>) of Time_Coord_Record;
type Time_Coord_List is access Time_Coord_Array;
type Compose_Status_Record is
record
Compose_Pointer : String_Pointer;
Chars_Matched : X_Long_Integer;
end record;
function Display_Motion_Buffer_Size
(Display_Id : in Display) return X_Long_Integer;
procedure Select_Input (Display_Id : in Display;
Window_Id : in Window;
Mask : in Event_Mask_Type);
procedure Flush (Display_Id : in Display);
procedure Sync (Display_Id : in Display; Discard : in Boolean := False);
function Events_Queued
(Display_Id : in Display; Mode : in Event_Queue_Mode_Type)
return Natural;
function Pending (Display_Id : in Display) return Natural;
procedure Next_Event (Display_Id : in Display;
The_Event : in out Event);
procedure Free_Event (The_Event : in out Event);
procedure Peek_Event (Display_Id : in Display;
The_Event : in out Event);
procedure Put_Back_Event
(Display_Id : in Display; The_Event : in Event);
procedure Window_Event (Display_Id : in Display;
Window_Id : in Window;
Mask : in Event_Mask_Type;
The_Event : in out Event);
procedure Check_Window_Event (Display_Id : in Display;
Window_Id : in Window;
Mask : in Event_Mask_Type;
The_Event : in out Event;
Event_Found : in out Boolean);
procedure Check_Typed_Event (Display_Id : in Display;
Event_Kind : in Event_Type;
Event_Return : in out Event;
Event_Found : in out Boolean);
procedure Check_Typed_Window_Event (Display_Id : in Display;
Window_Id : in Window;
Event_Kind : in Event_Type;
Event_Return : in out Event;
Event_Found : in out Boolean);
procedure Mask_Event (Display_Id : in Display;
Mask : in Event_Mask_Type;
The_Event : in out Event);
procedure Check_Mask_Event (Display_Id : in Display;
Mask : in Event_Mask_Type;
The_Event : in out Event;
Event_Found : in out Boolean);
function Get_Motion_Events (Display_Id : in Display;
Window_Id : in Window;
Start : in Time;
Stop : in Time) return Time_Coord_List;
procedure Send_Event (Display_Id : in Display;
Window_Id : in Window;
Propagate : in Boolean;
Mask : in Event_Mask_Type;
The_Event : in Event);
function Lookup_Keysym (The_Event : in Event; Index : in Natural)
return Keyboard.Key_Sym;
procedure Refresh_Keyboard_Mapping (The_Event : in Event);
procedure Lookup_String (The_Event : in Event;
Buffer : in out String_Pointer;
The_Symbol : out Keyboard.Key_Sym;
Status : out Compose_Status_Record);
end Events;
package Window_Manager is
type Resource is private;
type Grab_Mode is (Sync, Async);
type Grab_Reply_Status is
(Grab_Success, Already_Grabbed, Grab_Invalid_Time,
Grab_Not_Viewable, Grab_Frozen);
type Notify_Modes is (Normal, Grab, Ungrab, While_Grabbed);
type Notify_Detail is (Ancestor, Virtual, Inferior,
Nonlinear, Nonlinear_Virtual,
Pointer, Pointer_Root, Detail_None);
type Visibility_Notify_Type is
(Unobscured, Partially_Obscured, Fully_Obscured);
type Circulation_Request is (Place_On_Top, Place_On_Bottom);
type Protocol_Family is (Internet, Decnet, Chaos);
type Property_Notification is (New_Value, Delete);
type Colormap_Notification is (Uninstalled, Installed);
type Map_Status is (Success, Busy, Failed);
type Allow_Event_Mode is (Async_Pointer, Sync_Pointer, Replay_Pointer,
Async_Keyboard, Sync_Keyboard,
Replay_Keyboard, Async_Both, Sync_Both);
type Revert_Mode is
(Revert_To_None, Revert_To_Pointer_Root, Revert_To_Parent);
type Close_Mode is (Destroy_All, Retain_Permanent, Retain_Temporary);
type Map_Array is array (Natural range <>) of X_Short_Integer;
type Screen_Saver_Mode is (Active, Reset);
type Exposure_Type is (Dont_Allow_Exposures,
Allow_Exposures, Default_Exposures);
type Blanking_Type is (Dont_Prefer_Blanking,
Prefer_Blanking, Default_Blanking);
type Host_Address_Record is
record
Family : X_Id;
Length : X_Id;
The_Address : System.Address;
end record;
type Host_Array is array (Natural range <>) of Host_Address_Record;
type Host_List is access Host_Array;
type Access_Control_Mode is (Enable, Disable);
procedure Grab_Button (Display_Id : in Display;
Button : in Events.Button_Name_Type;
Modifiers : in Events.Key_And_Button_Mask;
Window_Id : in Window;
Owner_Events : in Boolean;
Grab_Events : in Events.Event_Mask_Type;
Pointer_Mode : in Grab_Mode;
Keyboard_Mode : in Grab_Mode;
Confine_To : in Window;
Cursor_Id : in Cursors.Cursor);
procedure Ungrab_Button (Display_Id : in Display;
Button : in Events.Button_Name_Type;
Modifiers : in Events.Key_And_Button_Mask;
Window_Id : in Window);
function Grab_Pointer (Display_Id : in Display;
Window_Id : in Window;
Owner_Events : in Boolean;
Grab_Events : in Events.Event_Mask_Type;
Pointer_Mode : in Grab_Mode;
Keyboard_Mode : in Grab_Mode;
Confine_To : in Window;
Cursor_Id : in Cursors.Cursor;
Grab_Time : in Time) return Grab_Reply_Status;
procedure Ungrab_Pointer
(Display_Id : in Display; Ungrab_Time : in Time);
procedure Change_Active_Pointer_Grab
(Display_Id : in Display;
Grab_Events : in Events.Event_Mask_Type;
Cursor_Id : in Cursors.Cursor;
Grab_Time : in Time);
function Grab_Keyboard (Display_Id : in Display;
Window_Id : in Window;
Owner_Events : in Boolean;
Pointer_Mode : in Grab_Mode;
Keyboard_Mode : in Grab_Mode;
Grab_Time : in Time) return Grab_Reply_Status;
procedure Ungrab_Keyboard
(Display_Id : in Display; Ungrab_Time : in Time);
procedure Grab_Key (Display_Id : in Display;
Key : in Keyboard.Keycode;
Modifiers : in Events.Key_And_Button_Mask;
Owner_Events : in Boolean;
Window_Id : in Window;
Pointer_Mode : in Grab_Mode;
Keyboard_Mode : in Grab_Mode);
procedure Ungrab_Key (Display_Id : in Display;
Key : in Keyboard.Keycode;
Modifiers : in Events.Key_And_Button_Mask;
Window_Id : in Window);
procedure Allow_Events (Display_Id : in Display;
Mode : in Allow_Event_Mode;
Event_Time : in Time);
procedure Grab_Server (Display_Id : in Display);
procedure Ungrab_Server (Display_Id : in Display);
procedure Warp_Pointer (Display_Id : in Display;
Source : in Window;
Destination : in Window;
Source_Bounds : in Rectangle;
Dest_Xy : in Point);
procedure Set_Input_Focus (Display_Id : in Display;
Focus : in Window;
Mode : in Revert_Mode;
Grab_Time : in Time);
procedure Get_Input_Focus (Display_Id : in Display;
Focus : in out Window;
Mode : in out Revert_Mode);
procedure Change_Pointer_Control (Display_Id : in Display;
Do_Accel : in Boolean;
Do_Threshold : in Boolean;
Numerator : in Integer;
Denominator : in Integer;
Threshold : in Integer);
procedure Get_Pointer_Control (Display_Id : in Display;
Numerator : out Integer;
Denominator : out Integer;
Threshold : out Integer);
procedure Set_Pointer_Mapping (Display_Id : in Display;
Map : in Map_Array;
Status : out Map_Status);
procedure Get_Pointer_Mapping (Display_Id : in Display;
Map : in out Map_Array;
Status : out Map_Status);
procedure Set_Close_Down_Mode
(Display_Id : in Display; Mode : in Close_Mode);
procedure Kill_Client (Display_Id : in Display;
Resource_Id : in Resource);
procedure Set_Screen_Saver (Display_Id : in Display;
Time_Out : in Time;
Interval : in Time;
Blanking : in Blanking_Type;
Exposures : in Exposure_Type);
procedure Force_Screen_Saver (Display_Id : in Display;
Mode : in Screen_Saver_Mode);
procedure Activate_Screen_Saver (Display_Id : in Display);
procedure Reset_Screen_Saver (Display_Id : in Display);
procedure Get_Screen_Saver (Display_Id : in Display;
Time_Out : out Time;
Interval : out Time;
Blanking : out Blanking_Type;
Exposures : out Exposure_Type);
procedure Add_Host (Display_Id : in Display;
Host : in Host_Address_Record);
procedure Add_Hosts (Display_Id : in Display; Hosts : in Host_Array);
procedure List_Hosts (Display_Id : in Display;
States : in out Boolean_Array;
Hosts : out Host_List);
procedure Remove_Host (Display_Id : in Display;
Host : in Host_Address_Record);
procedure Remove_Hosts (Display_Id : in Display; Hosts : in Host_Array);
procedure Set_Access_Control (Display_Id : in Display;
Mode : in Access_Control_Mode);
procedure Enable_Access_Control (Display_Id : in Display);
procedure Disable_Access_Control (Display_Id : in Display);
function Get_Default (Display_Id : in Display;
Program : in String;
Option : in String) return String;
private
type Resource is range 0 .. (2 ** 28) - 1;
end Window_Manager;
function Get_Command_Line_Arguments return String_List;
function Open_Display (Name : in String) return Display;
procedure No_Operation (Display_Id : in Display);
procedure Close_Display (The_Display : in Display);
function Bitmap_Bit_Order (Display_Id : in Display) return Order_Type;
function Bitmap_Pad (Display_Id : in Display) return Pixels;
function Bitmap_Unit (Display_Id : in Display) return Pixels;
function Black_Pixel (Display_Id : in Display; Screen_Id : in Screen_Number)
return Pixels;
function Connection_Number (Display_Id : in Display) return X_Long_Integer;
function Default_Colormap
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Colors.Color_Map;
function Default_Depth
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Depth_Type;
function Default_Graphic_Context
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Graphic_Output.Graphic_Context;
function Default_Root_Window (Display_Id : in Display) return Window;
function Default_Screen (Display_Id : in Display) return Screen_Number;
function Default_Visual
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Visual;
function Display_Cells
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Natural;
function Display_Height
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Pixels;
function Display_Height
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Millimeters;
function Display_Name (Name : in String) return String;
function Display_Planes
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Depth_Type;
function Display_String (Display_Id : in Display) return String;
function Display_Width
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Pixels;
function Display_Width
(Display_Id : in Display; Screen_Id : in Screen_Number)
return Millimeters;
function Image_Byte_Order (Display_Id : in Display) return Order_Type;
function Last_Known_Request_Processed
(Display_Id : in Display) return X_Long_Integer;
function Next_Request (Display_Id : in Display) return X_Long_Integer;
function Protocol_Version (Display_Id : in Display) return Natural;
function Protocol_Revision (Display_Id : in Display) return Natural;
function Q_Length (Display_Id : in Display) return Natural;
function Root_Window (Display_Id : in Display; Screen_Id : in Screen_Number)
return Window;
function Screen_Count (Display_Id : in Display) return Screen_Number;
function Server_Vendor (Display_Id : in Display) return String;
function Vendor_Release (Display_Id : in Display) return Natural;
function White_Pixel (Display_Id : in Display; Screen_Id : in Screen_Number)
return Pixels;
function Screen_Of_Display
(Display_Id : in Display; Screen_Num : in Screen_Number)
return Screen;
function Default_Screen_Of_Display (Display_Id : in Display) return Screen;
function Display_Of_Screen (Screen_Id : in Screen) return Display;
function Root_Window_Of_Screen (Screen_Id : in Screen) return Window;
function Black_Pixel_Of_Screen (Screen_Id : in Screen) return Pixels;
function White_Pixel_Of_Screen (Screen_Id : in Screen) return Pixels;
function Default_Colormap_Of_Screen
(Screen_Id : in Screen) return Colors.Color_Map;
function Default_Depth_Of_Screen (Screen_Id : in Screen) return Depth_Type;
function Default_Gc_Of_Screen (Screen_Id : in Screen)
return Graphic_Output.Graphic_Context;
function Default_Visual_Of_Screen (Screen_Id : in Screen) return Visual;
function Width_Of_Screen (Screen_Id : in Screen) return Pixels;
function Height_Of_Screen (Screen_Id : in Screen) return Pixels;
function Width_Mm_Of_Screen (Screen_Id : in Screen) return Millimeters;
function Height_Mm_Of_Screen (Screen_Id : in Screen) return Millimeters;
function Planes_Of_Screen (Screen_Id : in Screen) return Natural;
function Cells_Of_Screen (Screen_Id : in Screen) return Natural;
function Min_Cmaps_Of_Screen (Screen_Id : in Screen) return Natural;
function Max_Cmaps_Of_Screen (Screen_Id : in Screen) return Natural;
function Does_Save_Unders (Screen_Id : in Screen) return Boolean;
function Does_Backing_Store
(Screen_Id : in Screen) return Backing_Store_Type;
function Event_Mask_Of_Screen (Screen_Id : in Screen)
return Events.Event_Mask_Type;
function Min_Keycode (Display_Id : in Display) return Keyboard.Keycode;
function Max_Keycode (Display_Id : in Display) return Keyboard.Keycode;
pragma Inline (Bitmap_Bit_Order, Bitmap_Pad, Bitmap_Unit, Black_Pixel,
Connection_Number, Default_Colormap, Default_Root_Window,
Default_Depth, Default_Graphic_Context, Default_Screen,
Default_Visual, Display_Cells, Display_Height,
Display_Name, Display_Planes, Display_String,
Display_Width, Image_Byte_Order, Protocol_Version,
Protocol_Revision, Q_Length, Root_Window, Screen_Count,
Server_Vendor, White_Pixel, Screen_Of_Display,
Default_Screen_Of_Display, Display_Of_Screen,
Root_Window_Of_Screen, Black_Pixel_Of_Screen,
White_Pixel_Of_Screen, Default_Colormap_Of_Screen,
Default_Depth_Of_Screen, Default_Gc_Of_Screen,
Default_Visual_Of_Screen, Width_Of_Screen,
Height_Of_Screen, Width_Mm_Of_Screen, Height_Mm_Of_Screen,
Planes_Of_Screen, Cells_Of_Screen, Min_Cmaps_Of_Screen,
Max_Cmaps_Of_Screen, Does_Save_Unders, Does_Backing_Store,
Event_Mask_Of_Screen, Min_Keycode, Max_Keycode);
type Visual_Class_Type is (Static_Gray, Gray_Scale, Static_Color,
Pseudo_Color, True_Color, Direct_Color);
type Visual_Info_Record is
record
Visual_Record : Visual;
Visual_Id : X_Id;
Screen_Id : Screen_Number;
Depth : Depth_Type;
Class : Visual_Class_Type;
Red_Mask : Pixels;
Green_Mask : Pixels;
Blue_Mask : Pixels;
Colormap_Size : Integer;
Bits_Per_Rgb : Pixels;
end record;
type Visual_Info_Array is array (Natural range <>) of Visual_Info_Record;
type Visual_Info_List is access Visual_Info_Array;
subtype Visual_Mask_Type is Boolean_Array (0 .. 8);
Visual_No_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(others => False);
Visual_Id_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(0 => True, others => False);
Visual_Screen_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(1 => True, others => False);
Visual_Depth_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(2 => True, others => False);
Visual_Class_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(3 => True, others => False);
Visual_Red_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(4 => True, others => False);
Visual_Green_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(5 => True, others => False);
Visual_Blue_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(6 => True, others => False);
Visual_Colormap_Size_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(7 => True, others => False);
Visual_Bits_Per_Rgb_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(8 => True, others => False);
Visual_All_Mask : constant Visual_Mask_Type :=
Visual_Mask_Type'(others => True);
function Get_Visual_Info
(Display_Id : in Display;
Info_Mask : in Visual_Mask_Type;
Info_Template : in Visual_Info_Record) return Visual_Info_List;
procedure Match_Visual_Info (Display_Id : in Display;
Screen_Id : in Screen;
Depth_Of_Screen : in Depth_Type;
Class_Of_Screen : in Visual_Class_Type;
Visual_Info : out Visual_Info_Record;
Success : out Boolean);
type Window_Array is array (Natural range <>) of Window;
type Window_List is access Window_Array;
type Window_Class is (Copy_Class_From_Parent, Input_Output, Input_Only);
type Direction_Type is (Raise_Lowest, Lower_Highest);
type Property_Mode is (Replace, Prepend, Append);
type Change_Mode is (Insert, Delete);
type Gravity_Type is (Forget_Gravity, Northwest_Gravity, North_Gravity,
Northeast_Gravity, West_Gravity, Center_Gravity,
East_Gravity, Southwest_Gravity, South_Gravity,
Southeast_Gravity, Static_Gravity);
Unmap_Gravity : constant Gravity_Type := Forget_Gravity;
type Map_State_Type is (Is_Unmapped, Is_Unviewable, Is_Viewable);
subtype Geometry_Mask_Type is Boolean_Array (0 .. 6);
X_Value : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(0 => True, others => False);
Y_Value : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(1 => True, others => False);
Width_Value : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(2 => True, others => False);
Height_Value : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(3 => True, others => False);
All_Values : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(4 => True, others => False);
X_Negative : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(5 => True, others => False);
Y_Negative : constant Geometry_Mask_Type :=
Geometry_Mask_Type'(6 => True, others => False);
type Set_Window_Attributes_Record is
record
Background_Pixmap : Pixmap;
Background_Pixel : Pixels := 0;
Border_Pixmap : Pixmap;
Border_Pixel : Pixels := 1;
Bit_Gravity : Gravity_Type := Forget_Gravity;
Window_Gravity : Gravity_Type := Northwest_Gravity;
Backing_Store : Backing_Store_Type := Not_Useful;
Backing_Planes : Plane_Mask := All_Planes;
Backing_Pixel : Pixels := 0;
Save_Under : Boolean := False;
Event_Mask : Events.Event_Mask_Type :=
Events.Event_Mask_Type'(others => False);
Do_Not_Propagate : Events.Event_Mask_Type :=
Events.Event_Mask_Type'(others => False);
Override_Redirect : Boolean := False;
Current_Color_Map : Colors.Color_Map;
Current_Cursor : Cursors.Cursor;
end record;
type Window_Attributes_Record is
record
X : Coordinate;
Y : Coordinate;
Width : Pixels;
Height : Pixels;
Border_Width : Pixels;
Depth : Depth_Type;
Visuals : Visual;
Root : Window;
Class : Window_Class;
Bit_Gravity : Gravity_Type;
Window_Gravity : Gravity_Type;
Backing_Store : Backing_Store_Type;
Backing_Planes : Plane_Mask;
Backing_Pixel : Pixels;
Save_Under : Boolean;
Colormap : Colors.Color_Map;
Map_Installed : Boolean;
Map_State : Map_State_Type;
All_Event_Masks : Events.Event_Mask_Type;
Your_Event_Mask : Events.Event_Mask_Type;
Do_Not_Propagate : Events.Event_Mask_Type;
Override_Redirect : Boolean;
Screen_Id : Screen;
end record;
subtype Wa_Mask_Type is Boolean_Array (0 .. 14);
Wa_Background_Pixmap : constant Wa_Mask_Type :=
Wa_Mask_Type'(0 => True, others => False);
Wa_Background_Pixel : constant Wa_Mask_Type :=
Wa_Mask_Type'(1 => True, others => False);
Wa_Border_Pixmap : constant Wa_Mask_Type :=
Wa_Mask_Type'(2 => True, others => False);
Wa_Border_Pixel : constant Wa_Mask_Type :=
Wa_Mask_Type'(3 => True, others => False);
Wa_Bit_Gravity : constant Wa_Mask_Type :=
Wa_Mask_Type'(4 => True, others => False);
Wa_Win_Gravity : constant Wa_Mask_Type :=
Wa_Mask_Type'(5 => True, others => False);
Wa_Backing_Store : constant Wa_Mask_Type :=
Wa_Mask_Type'(6 => True, others => False);
Wa_Backing_Planes : constant Wa_Mask_Type :=
Wa_Mask_Type'(7 => True, others => False);
Wa_Backing_Pixel : constant Wa_Mask_Type :=
Wa_Mask_Type'(8 => True, others => False);
Wa_Override_Redirect : constant Wa_Mask_Type :=
Wa_Mask_Type'(9 => True, others => False);
Wa_Save_Under : constant Wa_Mask_Type :=
Wa_Mask_Type'(10 => True, others => False);
Wa_Event_Mask : constant Wa_Mask_Type :=
Wa_Mask_Type'(11 => True, others => False);
Wa_Dont_Propagate : constant Wa_Mask_Type :=
Wa_Mask_Type'(12 => True, others => False);
Wa_Colormap : constant Wa_Mask_Type :=
Wa_Mask_Type'(13 => True, others => False);
Wa_Cursor : constant Wa_Mask_Type :=
Wa_Mask_Type'(14 => True, others => False);
subtype Cw_Mask_Type is Boolean_Array (0 .. 31);
Cw_X : constant Cw_Mask_Type := Cw_Mask_Type'(0 => True, others => False);
Cw_Y : constant Cw_Mask_Type := Cw_Mask_Type'(1 => True, others => False);
Cw_Width : constant Cw_Mask_Type :=
Cw_Mask_Type'(2 => True, others => False);
Cw_Height : constant Cw_Mask_Type :=
Cw_Mask_Type'(3 => True, others => False);
Cw_Border_Width : constant Cw_Mask_Type :=
Cw_Mask_Type'(4 => True, others => False);
Cw_Sibling : constant Cw_Mask_Type :=
Cw_Mask_Type'(5 => True, others => False);
Cw_Stack_Mode : constant Cw_Mask_Type :=
Cw_Mask_Type'(6 => True, others => False);
type Window_Changes_Record is
record
Bounds : Rectangle;
Border_Width : Pixels;
Sibling : Window;
Stack_Mode : Stack_Mode_Type;
end record;
subtype Size_Hint_Mask_Type is Boolean_Array (0 .. 7);
User_Specified_Position : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(0 => True, others => False);
User_Specified_Size : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(1 => True, others => False);
Program_Specified_Position : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(2 => True, others => False);
Program_Specified_Size : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(3 => True, others => False);
Program_Specified_Min_Size : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(4 => True, others => False);
Program_Specified_Max_Size : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(5 => True, others => False);
Program_Specified_Resize_Inc : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(6 => True, others => False);
Program_Specified_Aspect : constant Size_Hint_Mask_Type :=
Size_Hint_Mask_Type'(7 => True, others => False);
Program_Specified_All_Hints : constant Size_Hint_Mask_Type :=
(Program_Specified_Position or Program_Specified_Size or
Program_Specified_Min_Size or Program_Specified_Max_Size or
Program_Specified_Resize_Inc or Program_Specified_Aspect);
type Size_Hint_Record is
record
Flags : Size_Hint_Mask_Type;
Bounds : Rectangle;
Min_Width : Pixels;
Min_Height : Pixels;
Max_Width : Pixels;
Max_Height : Pixels;
Width_Inc : Pixels;
Height_Inc : Pixels;
Min_Aspect : Point;
Max_Aspect : Point;
end record;
procedure Set_Standard_Properties (Display_Id : in Display;
Window_Id : in Window;
W_Name : in String;
Icon_Name : in String;
Icon : in Pixmap;
Command : in String_List;
Hints : in Size_Hint_Record);
procedure Store_Name (Display_Id : in Display;
Window_Id : in Window;
Name : in String);
function Fetch_Name
(Display_Id : in Display; Window_Id : in Window) return String;
procedure Set_Icon_Name (Display_Id : in Display;
Window_Id : in Window;
Name : in String);
function Get_Icon_Name
(Display_Id : in Display; Window_Id : in Window) return String;
procedure Set_Command (Display_Id : in Display;
Window_Id : in Window;
Command : in String_List);
type Initial_State_Type is (Dont_Care_State, Normal_State, Zoom_State,
Iconic_State, Inactive_State);
subtype Wm_Hint_Mask_Type is Boolean_Array (0 .. 6);
Input_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(0 => True, others => False);
Initial_State_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(1 => True, others => False);
Icon_Pixmap_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(2 => True, others => False);
Icon_Window_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(3 => True, others => False);
Icon_Position_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(4 => True, others => False);
Icon_Mask_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(5 => True, others => False);
Window_Group_Hint : constant Wm_Hint_Mask_Type :=
Wm_Hint_Mask_Type'(6 => True, others => False);
All_Hints : constant Wm_Hint_Mask_Type :=
(Input_Hint or Icon_Pixmap_Hint or Icon_Window_Hint or
Icon_Position_Hint or Icon_Mask_Hint);
type Wm_Hint_Record is
record
Flags : Wm_Hint_Mask_Type;
Input : Boolean;
Initial_State : Initial_State_Type;
Icon_Pixmap : Pixmap;
Icon_Window : Window;
Icon_Position : Point;
Icon_Mask : Pixmap;
Window_Group : X_Id;
end record;
type Wm_Class_Hint_Record is
record
Res_Name : String_Pointer;
Res_Class : String_Pointer;
end record;
type Icon_Size_Record is
record
Min_Width : Pixels;
Min_Height : Pixels;
Max_Width : Pixels;
Max_Height : Pixels;
Width_Inc : Pixels;
Height_Inc : Pixels;
end record;
type Icon_Size_Array is array (Natural range <>) of Icon_Size_Record;
type Icon_Size_List is access Icon_Size_Array;
function Resource_Manager_String
(Display_Id : in Display) return String_Pointer;
procedure Set_Wm_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in Wm_Hint_Record);
function Get_Wm_Hints (Display_Id : in Display; Window_Id : in Window)
return Wm_Hint_Record;
procedure Set_Normal_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in Size_Hint_Record);
procedure Get_Normal_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in out Size_Hint_Record;
Hints_Found : out Boolean);
procedure Set_Zoom_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in Size_Hint_Record);
procedure Get_Zoom_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in out Size_Hint_Record;
Hints_Found : out Boolean);
procedure Set_Size_Hints (Display_Id : in Display;
Window_Id : in Window;
Hints : in Size_Hint_Record;
Property : in Atoms.Atom);
procedure Get_Size_Hints (Display_Id : in Display;
Window_Id : in Window;
Property : in Atoms.Atom;
Hints : in out Size_Hint_Record;
Hints_Found : out Boolean);
procedure Set_Icon_Sizes (Display_Id : in Display;
Window_Id : in Window;
Size_List : in Icon_Size_List);
function Get_Icon_Sizes (Display_Id : in Display; Window_Id : in Window)
return Icon_Size_List;
procedure Set_Class_Hint (Display_Id : in Display;
Window_Id : in Window;
Class_Hints : in Wm_Class_Hint_Record);
procedure Get_Class_Hint (Display_Id : in Display;
Window_Id : in Window;
Class_Hints_Return : in out Wm_Class_Hint_Record;
Success : out Boolean);
procedure Set_Transient_For_Hint (Display_Id : in Display;
Window_Id : in Window;
Prop_Window : in Window);
procedure Get_Transient_For_Hint (Display_Id : in Display;
Window_Id : in Window;
Prop_Window_Return : in out Window;
Success : out Boolean);
function Create_Pixmap (Display_Id : in Display;
Drawable_Id : in Drawable;
Width : in Pixels;
Height : in Pixels;
Depth : in Depth_Type) return Pixmap;
procedure Free_Pixmap (Display_Id : in Display; Pixmap_Id : in out Pixmap);
function Create_Window
(Display_Id : in Display;
Parent : in Window;
Bounds : in Rectangle;
Border_Width : in Pixels;
Depth : in Depth_Type;
Class : in Window_Class;
Visuals : in Visual;
Value_Mask : in Wa_Mask_Type;
Attributes : in Set_Window_Attributes_Record) return Window;
function Create_Simple_Window (Display_Id : in Display;
Parent : in Window;
Bounds : in Rectangle;
Border_Width : in Pixels;
Border : in Pixels;
Background : in Pixels) return Window;
procedure Destroy_Window (Display_Id : in Display; Window_Id : in Window);
procedure Destroy_Subwindows
(Display_Id : in Display; Window_Id : in Window);
procedure Map_Window (Display_Id : in Display; Window_Id : in Window);
procedure Map_Raised (Display_Id : in Display; Window_Id : in Window);
procedure Map_Subwindows (Display_Id : in Display; Window_Id : in Window);
procedure Unmap_Window (Display_Id : in Display; Window_Id : in Window);
procedure Unmap_Subwindows (Display_Id : in Display; Window_Id : in Window);
procedure Configure_Window (Display_Id : in Display;
Window_Id : in Window;
Value_Mask : in Cw_Mask_Type;
Changes : in Window_Changes_Record);
procedure Move_Window (Display_Id : in Display;
Window_Id : in Window;
Xy : in Point);
procedure Resize_Window (Display_Id : in Display;
Window_Id : in Window;
Width : in Pixels;
Height : in Pixels);
procedure Move_Resize_Window (Display_Id : in Display;
Window_Id : in Window;
Bounds : in Rectangle);
procedure Set_Window_Border_Width (Display_Id : in Display;
Window_Id : in Window;
Width : in Pixels);
procedure Raise_Window (Display_Id : in Display; Window_Id : in Window);
procedure Lower_Window (Display_Id : in Display; Window_Id : in Window);
procedure Circulate_Subwindows (Display_Id : in Display;
Window_Id : in Window;
Direction : in Direction_Type);
procedure Circulate_Subwindows_Up
(Display_Id : in Display; Window_Id : in Window);
procedure Circulate_Subwindows_Down
(Display_Id : in Display; Window_Id : in Window);
procedure Restack_Windows (Display_Id : in Display;
Windows : in Window_List);
procedure Change_Window_Attributes
(Display_Id : in Display;
Window_Id : in Window;
Value_Mask : in Wa_Mask_Type;
Attributes : in Set_Window_Attributes_Record);
procedure Set_Window_Background (Display_Id : in Display;
Window_Id : in Window;
Background : in Pixels);
procedure Set_Window_Background_Pixmap (Display_Id : in Display;
Window_Id : in Window;
Tile : in Pixmap);
procedure Set_Window_Border (Display_Id : in Display;
Window_Id : in Window;
Border : in Pixels);
procedure Set_Window_Border_Pixmap (Display_Id : in Display;
Window_Id : in Window;
Tile : in Pixmap);
procedure Translate_Coordinates (Display_Id : in Display;
Source : in Window;
Destination : in Window;
From : in Point;
To : out Point;
Child : in out Window;
Same_Screen : out Boolean);
procedure Query_Tree (Display_Id : in Display;
Window_Id : in Window;
Root : in out Window;
Parent : in out Window;
Children : in out Window_List;
Status : out Boolean);
procedure Get_Window_Attributes
(Display_Id : in Display;
Window_Id : in Window;
Attributes : in out Window_Attributes_Record;
Status : out Boolean);
procedure Get_Geometry (Display_Id : in Display;
Drawable_Id : in Drawable;
Root : in out Window;
Bounds : out Rectangle;
Border_Width : out Pixels;
Depths : out Depth_Type;
Status : out Boolean);
procedure Parse_Geometry (Parse_String : in String;
Geometry : out Rectangle;
Values_Found : out Geometry_Mask_Type);
procedure Geometry (Display_Id : in Display;
Screen_Id : in Screen;
Position : in String;
Default : in String;
Border_Width : in Pixels;
Font_Height : in Pixels;
Font_Width : in Pixels;
Xy_Padding : in Point;
Geometry : out Rectangle;
Values_Found : out Geometry_Mask_Type);
procedure Query_Pointer (Display_Id : in Display;
Window_Id : in Window;
Root : in out Window;
Child : in out Window;
Root_Xy : out Point;
Window_Xy : out Point;
Keys_And_Buttons : out Events.Key_And_Button_Mask;
Same_Screen : out Boolean);
procedure Get_Window_Property (Display_Id : in Display;
Window_Id : in Window;
Property : in Atoms.Atom;
Long_Offset : in X_Long_Integer;
Long_Length : in X_Long_Integer;
Delete : in Boolean;
Req_Type : in Atoms.Atom;
Actual_Type : out Atoms.Atom;
Actual_Form : out X_Long_Integer;
Bytes_After : out X_Long_Integer;
Data : out Bytes);
function List_Properties (Display_Id : in Display; Window_Id : in Window)
return Atoms.Atom_List;
procedure Change_Property (Display_Id : in Display;
Window_Id : in Window;
Property : in Atoms.Atom;
Kind : in Atoms.Atom;
Format : in Property_Format_Type;
Mode : in Property_Mode;
Data : in Bytes;
N_Items : in Natural);
procedure Rotate_Window_Properties (Display_Id : in Display;
Window_Id : in Window;
Properties : in Atoms.Atom_List;
N_Positions : in Natural);
procedure Delete_Property (Display_Id : in Display;
Window_Id : in Window;
Property : in Atoms.Atom);
procedure Set_Selection_Owner (Display_Id : in Display;
Selection : in Atoms.Atom;
Owner : in Window;
Time_Stamp : in Time);
function Get_Selection_Owner
(Display_Id : in Display; Selection : in Atoms.Atom)
return Window;
procedure Convert_Selection (Display_Id : in Display;
Selection : in Atoms.Atom;
Target : in Atoms.Atom;
Property : in Atoms.Atom;
Requestor : in Window;
Time_Stamp : in Time);
procedure Reparent_Window (Display_Id : in Display;
Window_Id : in Window;
Parent : in Window;
Upper_Left : in Point);
procedure Change_Save_Set (Display_Id : in Display;
Window_Id : in Window;
Mode : in Change_Mode);
procedure Add_To_Save_Set (Display_Id : in Display; Window_Id : in Window);
procedure Remove_From_Save_Set
(Display_Id : in Display; Window_Id : in Window);
procedure Save_Context (Display_Id : in Display;
Window_Id : in Window;
The_Context : in Context;
Data : in System.Address);
function Find_Context (Display_Id : in Display;
Window_Id : in Window;
The_Context : in Context) return System.Address;
procedure Delete_Context (Display_Id : in Display;
Window_Id : in Window;
The_Context : in Context);
function Unique_Context return Context;
type Synchronize_Mode is (Off, On);
procedure Synchronize (Display_Id : in Display;
Mode : in Synchronize_Mode := On);
function Max_Request_Size (Display_Id : in Display) return X_Long_Integer;
private
type Context is range 0 .. (2 ** 28) - 1;
type Drawable is range 0 .. (2 ** 28) - 1;
type X_Id is range 0 .. (2 ** 28) - 1;
type Visual_Record;
type Visual is access Visual_Record;
type Screen_Record;
type Screen is access Screen_Record;
type Display_Record;
type Display is access Display_Record;
Null_Display : constant Display := null;
Null_Context : constant Context := Context (0);
Null_Drawable : constant Drawable := Drawable (0);
Null_Window : constant Window := Null_Drawable;
Null_Pixmap : constant Pixmap := Null_Drawable;
Pointer_Window : constant Window := Null_Drawable;
Input_Focus_Window : constant Window := Window (1);
Pointer_Root_Window : constant Window := Window (1);
None : constant Drawable := Drawable (1);
Parent_Relative : constant Pixmap := Drawable (0);
Copy_Drawable_From_Parent : constant Drawable := Drawable (0);
Copy_Visual_From_Parent : constant Visual := null;
Null_X_Id : constant X_Id := X_Id (0);
end X_Windows;