DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦13ffd9780⟧ TextFile

    Length: 16938 (0x422a)
    Types: TextFile
    Names: »V«

Derivation

└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
    └─ ⟦0c20f784e⟧ »DATA« 
        └─⟦1abbe589f⟧ 
            └─⟦059497ac5⟧ 
                └─⟦this⟧ 

TextFile

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;