|
|
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: 16938 (0x422a)
Types: TextFile
Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦059497ac5⟧
└─⟦this⟧
with Unchecked_Deallocation;
with Xlbt_Arithmetic;
use Xlbt_Arithmetic;
with Xlbt_Basic3;
use Xlbt_Basic3;
with Xlbt_Misc;
use Xlbt_Misc;
with Xlbt_String;
use Xlbt_String;
with Xlbt_Window4;
use Xlbt_Window4;
--/ if Record_Rep_Clauses then
--// with Xlbmt_Parameters;
--// use Xlbmt_Parameters;
--/ end if;
package Xlbt_Hint3 is
------------------------------------------------------------------------------
-- X Library Window Manager Hints - Full Interface
--
-- Xlbt_Hint3 - Structures used to give hints to window managers.
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1987 - 1989 by Digital Equipment Corporation, Maynard, Mass.
-- Copyright 1987 - 1989 by Massachusetts Institute of Technology,
-- Cambridge, Massachusetts.
--
-- All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the names of Digital, MIT, or Rational
-- not be used in advertising or publicity pertaining to distribution of
-- the software without specific, written prior permission.
--
-- Digital, MIT, and Rational disclaim all warranties with regard to this
-- software, including all implied warranties of merchantability and fitness,
-- in no event shall Digital, MIT, or Rational be liable for any special,
-- indirect or consequential damages or any damages whatsoever resulting from
-- loss of use, data or profits, whether in an action of contract, negligence
-- or other tortious action, arising out of or in connection with the use or
-- performance of this software.
------------------------------------------------------------------------------
--\f
------------------------------------------------------------------------------
-- Class Hints
------------------------------------------------------------------------------
type X_Class_Hint is
record
Res_Name : X_String_Pointer;
Res_Class : X_String_Pointer;
end record;
None_X_Class_Hint : constant X_Class_Hint := (None_X_String_Pointer,
None_X_String_Pointer);
--
procedure Free_X_Class_Hint (Hint : in out X_Class_Hint);
------------------------------------------------------------------------------
-- X_Icon_Size - Icon Size Hints
------------------------------------------------------------------------------
type X_Icon_Size is
record
Min_Width : S_Long := 0;
Min_Height : S_Long := 0;
Max_Width : S_Long := 0;
Max_Height : S_Long := 0;
Width_Inc : S_Long := 0;
Height_Inc : S_Long := 0;
end record;
--/ if Length_Clauses then
for X_Icon_Size'Size use 6 * 32;
--/ end if;
--/ if Record_Rep_Clauses then
--//
--// for X_Icon_Size use
--// record
--// Min_Width at 0 * X_Word range X_Word0a .. X_Word0b;
--// Min_Height at 1 * X_Word range X_Word0a .. X_Word0b;
--// Max_Width at 2 * X_Word range X_Word0a .. X_Word0b;
--// Max_Height at 3 * X_Word range X_Word0a .. X_Word0b;
--// Width_Inc at 4 * X_Word range X_Word0a .. X_Word0b;
--// Height_Inc at 5 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
type X_Icon_Size_Array is array (S_Natural range <>) of X_Icon_Size;
type X_Icon_Size_List is access X_Icon_Size_Array;
--/ if Pack then
--// pragma Pack (X_Icon_Size_Array);
--/ end if;
--/ if Enable_Deallocation then
pragma Enable_Deallocation (X_Icon_Size_List);
--/ end if;
None_X_Icon_Size : constant X_Icon_Size := (0, 0, 0, 0, 0, 0);
None_X_Icon_Size_List : constant X_Icon_Size_List := null;
procedure Free_X_Icon_Size_List is
new Unchecked_Deallocation (X_Icon_Size_Array,
X_Icon_Size_List);
------------------------------------------------------------------------------
-- X_Initial_Window_State
------------------------------------------------------------------------------
type X_Initial_Window_State is
(Withdrawn_State, -- for windows that are not mapped
Normal_State, -- most applications want to start this way
Xiw02,
Iconic_State, -- application want to start as an icon
Xiw04, Xiw05, Xiw06, Xiw07);
--/ if Length_Clauses then
for X_Initial_Window_State'Size use 32;
--/ end if;
None_X_Initial_Window_State : constant X_Initial_Window_State :=
X_Initial_Window_State'Val (0);
------------------------------------------------------------------------------
-- X_Size_Hints_Flags - Argument flags for Property Size and Size hints
------------------------------------------------------------------------------
--/ if Bit0_Sign_Bit then
type X_Size_Hints_Flags_Index is
(Xshfi31, Xshfi30, Xshfi29, Xshfi28, Xshfi27, Xshfi26,
Xshfi25, Xshfi24, Xshfi23, Xshfi22, Xshfi21, Xshfi20,
Xshfi19, Xshfi18, Xshfi17, Xshfi16, Xshfi15, Xshfi14,
Xshfi13, Xshfi12, Xshfi11, Xshfi10, -- Unused
P_Win_Gravity, -- program specified window gravity
P_Base_Size, -- program specified base for incrementing
P_Aspect, -- program specified min and max aspect ratios
P_Resize_Inc, -- program specified resize increments
P_Max_Size, -- program specified maximum size
P_Min_Size, -- program specified minimum size
P_Size, -- program specified size
P_Position, -- program specified position
U_S_Size, -- user specified width, height
U_S_Position); -- user specified x, y
--/ else -- not Bit0_Sign_Bit then
--//
--// type X_Size_Hints_Flags_Index is
--// (U_S_Position, -- user specified x, y
--// U_S_Size, -- user specified width, height
--// P_Position, -- program specified position
--// P_Size, -- program specified size
--// P_Min_Size, -- program specified minimum size
--// P_Max_Size, -- program specified maximum size
--// P_Resize_Inc, -- program specified resize increments
--// P_Aspect, -- program specified min and max aspect ratios
--// P_Base_Size, -- program specified base for incrementing
--// P_Win_Gravity, -- program specified window gravity
--// Xshfi10, Xshfi11, Xshfi12, Xshfi13, Xshfi14, Xshfi15,
--// Xshfi16, Xshfi17, Xshfi18, Xshfi19, Xshfi20, Xshfi21, Xshfi22, Xshfi23,
--// Xshfi24, Xshfi25, Xshfi26, Xshfi27, Xshfi28, Xshfi29, Xshfi30, Xshfi31);
--//
--/ end if;
type X_Size_Hints_Flags is array (X_Size_Hints_Flags_Index) of Boolean;
--/ if Length_Clauses then
for X_Size_Hints_Flags'Size use 32;
--/ elsif Pack then
--// pragma Pack (X_Size_Hints_Flags);
--/ end if;
None_X_Size_Hints_Flags : constant X_Size_Hints_Flags :=
(others => False);
------------------------------------------------------------------------------
-- X_Size_Hints
------------------------------------------------------------------------------
type Aspect_Record is
record
X : S_Long := 0; -- numerator
Y : S_Long := 0; -- denominator
end record;
--/ if Length_Clauses then
for Aspect_Record'Size use 2 * 32;
--/ end if;
--/ if Record_Rep_Clauses then
--// for Aspect_Record use
--// record
--// X at 0 * X_Word range X_Word0a .. X_Word0b;
--// Y at 1 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--/ end if;
type X_Size_Hints is
record
Flags : -- marks which fields in this structure are valid
X_Size_Hints_Flags := None_X_Size_Hints_Flags;
X : S_Long := 0;
Y : S_Long := 0;
Width : S_Long := 0;
Height : S_Long := 0;
Min_Width : S_Long := 0;
Min_Height : S_Long := 0;
Max_Width : S_Long := 0;
Max_Height : S_Long := 0;
Width_Inc : S_Long := 0;
Height_Inc : S_Long := 0;
Min_Aspect : Aspect_Record;
Max_Aspect : Aspect_Record;
Base_Width : S_Long := 0;
Base_Height : S_Long := 0;
Win_Gravity : X_Window_Gravity := None_X_Window_Gravity;
end record;
None_X_Size_Hints : constant X_Size_Hints :=
(None_X_Size_Hints_Flags, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, (0, 0), (0, 0), 0, 0, None_X_Window_Gravity);
------------------------------------------------------------------------------
-- X_Standard_Colormap - This defines a window manager property that
-- clients may use to share standard color maps of type RGB_COLOR_MAP:
------------------------------------------------------------------------------
type X_Standard_Colormap is
record
Colormap : X_Colormap := None_X_Colormap;
Red_Max : S_Long := 0;
Red_Mult : S_Long := 0;
Green_Max : S_Long := 0;
Green_Mult : S_Long := 0;
Blue_Max : S_Long := 0;
Blue_Mult : S_Long := 0;
Base_Pixel : X_Pixel := None_X_Pixel;
Visual_Id : X_Visual_Id := None_X_Visual_Id; -- ICCCM V1
Kill_Id : X_Id := None_X_Id; -- ICCCM V1
----Kill_Id has special Release_By_Freeing_Colormap value.
end record;
--/ if Length_Clauses then
for X_Standard_Colormap'Size use 10 * 32;
--/ end if;
--/ if Record_Rep_Clauses then
--//
--// for X_Standard_Colormap use
--// record
--// Colormap at 0 * X_Word range X_Word0a .. X_Word0b;
--// Red_Max at 1 * X_Word range X_Word0a .. X_Word0b;
--// Red_Mult at 2 * X_Word range X_Word0a .. X_Word0b;
--// Green_Max at 3 * X_Word range X_Word0a .. X_Word0b;
--// Green_Mult at 4 * X_Word range X_Word0a .. X_Word0b;
--// Blue_Max at 5 * X_Word range X_Word0a .. X_Word0b;
--// Blue_Mult at 6 * X_Word range X_Word0a .. X_Word0b;
--// Base_Pixel at 7 * X_Word range X_Word0a .. X_Word0b;
--// Visual_Id at 8 * X_Word range X_Word0a .. X_Word0b;
--// Kill_Id at 9 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
type X_Standard_Colormap_Array is
array (S_Natural range <>) of X_Standard_Colormap;
type X_Standard_Colormap_List is access X_Standard_Colormap_Array;
--/ if Pack then
--// pragma Pack (X_Standard_Colormap_Array);
--/ end if;
--/ if Enable_Deallocation then
pragma Enable_Deallocation (X_Standard_Colormap_List);
--/ end if;
None_X_Standard_Colormap : constant X_Standard_Colormap :=
(None_X_Colormap, 0, 0, 0, 0, 0, 0,
None_X_Pixel, None_X_Visual_Id, None_X_Id);
None_X_Standard_Colormap_List : constant X_Standard_Colormap_List := null;
procedure Free_X_Standard_Colormap_List is
new Unchecked_Deallocation (X_Standard_Colormap_Array,
X_Standard_Colormap_List);
------------------------------------------------------------------------------
-- X_Text_Property - Structure for manipulating TEXT properties; used with
-- Wm_Name, Wm_Icon_Name, Wm_Client_Machine, and Wm_Command.
------------------------------------------------------------------------------
type X_Text_Property is
record
Encoding : X_Atom := None_X_Atom; -- Property type
Format : U_Char := 0; -- Property format: 8, 16, or 32
N_Items : S_Natural :=
0; -- Number of data items in value
Value : U_Char_List := None_U_Char_List;
end record;
None_X_Text_Property : constant X_Text_Property :=
(None_X_Atom, 0, 0, None_U_Char_List);
------------------------------------------------------------------------------
-- X_Wm_Hints_Flags - Argument flags for X_WM_Hints
------------------------------------------------------------------------------
--/ if Bit0_Sign_Bit then
type X_Wm_Hints_Flags_Index is
(Xwhfi31, Xwhfi30, Xwhfi29, Xwhfi28, Xwhfi27, Xwhfi26,
Xwhfi25, Xwhfi24, Xwhfi23, Xwhfi22, Xwhfi21, Xwhfi20,
Xwhfi19, Xwhfi18, Xwhfi17, Xwhfi16, Xwhfi15, Xwhfi14,
Xwhfi13, Xwhfi12, Xwhfi11, Xwhfi10,
Xwhfi09, Xwhfi08, Xwhfi07, -- Unused
Window_Group_Hint,
Icon_Mask_Hint,
Icon_Position_Hint,
Icon_Window_Hint,
Icon_Pixmap_Hint,
State_Hint,
Input_Hint);
--/ else -- not Bit0_Sign_Bit then
--//
--// type X_Wm_Hints_Flags_Index is
--// (Input_Hint,
--// State_Hint,
--// Icon_Pixmap_Hint,
--// Icon_Window_Hint,
--// Icon_Position_Hint,
--// Icon_Mask_Hint,
--// Window_Group_Hint,
--// Xwhfi07, Xwhfi08, Xwhfi09, Xwhfi10, Xwhfi11, Xwhfi12,
--// Xwhfi13, Xwhfi14, Xwhfi15, Xwhfi16, Xwhfi17, Xwhfi18,
--// Xwhfi19, Xwhfi20, Xwhfi21, Xwhfi22, Xwhfi23, Xwhfi24,
--// Xwhfi25, Xwhfi26, Xwhfi27, Xwhfi28, Xwhfi29, Xwhfi30,
--// Xwhfi31);
--//
--/ end if;
type X_Wm_Hints_Flags is array (X_Wm_Hints_Flags_Index) of Boolean;
--/ if Length_Clauses then
for X_Wm_Hints_Flags'Size use 32;
--/ elsif Pack then
--// pragma Pack (X_Wm_Hints_Flags);
--/ end if;
None_X_Wm_Hints_Flags : constant X_Wm_Hints_Flags :=
(others => False);
All_Hints : constant X_Wm_Hints_Flags :=
X_Wm_Hints_Flags'
(Input_Hint | State_Hint | Icon_Pixmap_Hint | Icon_Window_Hint |
Icon_Position_Hint | Icon_Mask_Hint | Window_Group_Hint => True,
others => False);
------------------------------------------------------------------------------
-- X_Wm_Hints - Window Manager Hints
------------------------------------------------------------------------------
type X_Wm_Hints is
record
Flags : -- marks which fields in this
X_Wm_Hints_Flags := -- structure are defined
None_X_Wm_Hints_Flags;
Input : X_Boolean_Long := False;-- get keyboard input?
Initial_State : -- see below
X_Initial_Window_State := None_X_Initial_Window_State;
Icon_Pixmap : -- pixmap to be used as icon
X_Pixmap := None_X_Pixmap;
Icon_Window : -- window to be used as icon
X_Window := None_X_Window;
Icon_X : S_Long := 0; -- initial position of icon
Icon_Y : S_Long := 0; -- initial position of icon
Icon_Mask : -- icon mask bitmap
X_Pixmap := None_X_Pixmap;
Window_Group : X_Window := None_X_Window;
-- this structure may be extended in the future
end record;
--/ if Length_Clauses then
for X_Wm_Hints'Size use 9 * 32;
--/ end if;
--/ if Record_Rep_Clauses then
--//
--// for X_Wm_Hints use
--// record
--// Flags at 0 * X_Word range X_Word0a .. X_Word0b;
--// Input at 1 * X_Word range X_Word0a .. X_Word0b;
--// Initial_State at 2 * X_Word range X_Word0a .. X_Word0b;
--// Icon_Pixmap at 3 * X_Word range X_Word0a .. X_Word0b;
--// Icon_Window at 4 * X_Word range X_Word0a .. X_Word0b;
--// Icon_X at 5 * X_Word range X_Word0a .. X_Word0b;
--// Icon_Y at 6 * X_Word range X_Word0a .. X_Word0b;
--// Icon_Mask at 7 * X_Word range X_Word0a .. X_Word0b;
--// Window_Group at 8 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
None_X_Wm_Hints : constant X_Wm_Hints :=
(None_X_Wm_Hints_Flags, False, None_X_Initial_Window_State,
None_X_Pixmap, None_X_Window, 0, 0, None_X_Pixmap, None_X_Window);
end Xlbt_Hint3;