|
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 - 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;