DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦68614f4c1⟧ Ada Source

    Length: 14336 (0x3800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_Visual3, seg_004ff9

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Unchecked_Deallocation;

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic3;  
use Xlbt_Basic3;  
with Xlbt_Color;  
use Xlbt_Color;  
with Xlbt_Extension4;  
use Xlbt_Extension4;

package Xlbt_Visual3 is
------------------------------------------------------------------------------
-- X Library Visuals - Full Interface
--
-- Xlbt_Visual3 - Types dealing with Visual Display Types supported by a
-- display.
------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- X_Display_Class - used in opening the connection
-- Note that the statically allocated ones are even numbered and the
-- dynamically changeable ones are odd numbered
------------------------------------------------------------------------------

    type X_Display_Class is (Static_Gray,  
                             Grayscale,  
                             Static_Color,  
                             Pseudo_Color,  
                             True_Color,  
                             Direct_Color);

--/ if Length_Clauses then
    for X_Display_Class'Size use 8;
--/ end if;

    None_X_Display_Class : constant X_Display_Class := X_Display_Class'Val (0);

------------------------------------------------------------------------------
-- Visual structure; contains information about colormapping possibilities.
--
--  Copy_From_Parent_Visual - Special X_Visual passed to Create_Window to
--                          indicate "copy it from the parent window"
------------------------------------------------------------------------------

    type X_Visual_Rec is  
        record  
            Ext_Data : X_Ext_Data := null;
            ----Hook for extension to hang data
            Visual_Id : X_Visual_Id := None_X_Visual_Id;
            ----Visual ID of this visual
            Class : X_Display_Class := None_X_Display_Class;
            ----Class of screen (monochrome, etc.)
            Red_Mask     : X_Red_Color_Mask   := None_X_Color_Mask;  
            Green_Mask   : X_Green_Color_Mask := None_X_Color_Mask;  
            Blue_Mask    : X_Blue_Color_Mask  := None_X_Color_Mask;  
            Bits_Per_Rgb : U_Char             := 0;
            ----Log base 2 of distinct color values
            Map_Entries : U_Short := 0;
            ----Color map entries
        end record;

    type X_Visual       is access X_Visual_Rec;  
    type X_Visual_Array is array (U_Short range <>) of X_Visual;  
    type X_Visual_List  is access X_Visual_Array;

--/ if Pack then
--//     pragma Pack (X_Visual_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Visual);  
    pragma Enable_Deallocation (X_Visual_List);
--/ end if;

    None_X_Visual           : constant X_Visual      := null;  
    None_X_Visual_List      : constant X_Visual_List := null;  
    Copy_From_Parent_Visual : constant X_Visual      := null;

    procedure Free_X_Visual      is new Unchecked_Deallocation (X_Visual_Rec,  
                                                                X_Visual);  
    procedure Free_X_Visual_List is new Unchecked_Deallocation (X_Visual_Array,  
                                                                X_Visual_List);

------------------------------------------------------------------------------
-- X_Visual_Info - Visual Information
--
-- Information used by the visual utility routines to find desired visual
-- type from the many visuals a display may support.
------------------------------------------------------------------------------

    type X_Visual_Info is  
        record  
            Visual        : X_Visual;  
            Visual_Id     : X_Visual_Id        := None_X_Visual_Id;  
            Screen        : X_Screen_Number    := 0;  
            Depth         : U_Char             := 0;  
            Class         : X_Display_Class    := None_X_Display_Class;  
            Red_Mask      : X_Red_Color_Mask   := None_X_Color_Mask;  
            Green_Mask    : X_Green_Color_Mask := None_X_Color_Mask;  
            Blue_Mask     : X_Blue_Color_Mask  := None_X_Color_Mask;  
            Colormap_Size : U_Short            := 0;  
            Bits_Per_Rgb  : U_Char             := 0;  
        end record;

    type X_Visual_Info_Array is array (S_Natural range <>) of X_Visual_Info;  
    type X_Visual_Info_List  is access X_Visual_Info_Array;

--/ if Pack then
--//     pragma Pack (X_Visual_Info_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Visual_Info_List);
--/ end if;

    None_X_Visual_Info      : constant X_Visual_Info      :=  
       (None_X_Visual, None_X_Visual_Id, None_X_Screen_Number,  
        0, None_X_Display_Class, None_X_Color_Mask,  
        None_X_Color_Mask, None_X_Color_Mask, 0, 0);  
    None_X_Visual_Info_List : constant X_Visual_Info_List := null;

    procedure Free_X_Visual_Info_List is  
       new Unchecked_Deallocation (X_Visual_Info_Array,  
                                   X_Visual_Info_List);

------------------------------------------------------------------------------
-- Visual Information Flags
------------------------------------------------------------------------------

--/ if Bit0_Sign_Bit then

    type X_Visual_Info_Flags_Index is  
       (Xvifi31, Xvifi30, Xvifi29, Xvifi28, Xvifi27, Xvifi26,  
        Xvifi25, Xvifi24, Xvifi23, Xvifi22, Xvifi21, Xvifi20,  
        Xvifi19, Xvifi18, Xvifi17, Xvifi16, Xvifi15, Xvifi14,  
        Xvifi13, Xvifi12, Xvifi11, Xvifi10, Xvifi09,  
        Visual_Bits_Per_Rgb_Mask,  
        Visual_Colormap_Size_Mask,  
        Visual_Blue_Mask_Mask,  
        Visual_Green_Mask_Mask,  
        Visual_Red_Mask_Mask,  
        Visual_Class_Mask,  
        Visual_Depth_Mask,  
        Visual_Screen_Mask,  
        Visual_Id_Mask);

--/ else -- not Bit0_Sign_Bit then
--//
--//     type X_Visual_Info_Flags_Index is
--//        (Visual_Id_Mask,
--//         Visual_Screen_Mask,
--//         Visual_Depth_Mask,
--//         Visual_Class_Mask,
--//         Visual_Red_Mask_Mask,
--//         Visual_Green_Mask_Mask,
--//         Visual_Blue_Mask_Mask,
--//         Visual_Colormap_Size_Mask,
--//         Visual_Bits_Per_Rgb_Mask,
--//         Xvifi09, Xvifi10, Xvifi11, Xvifi12, Xvifi13, Xvifi14,
--//         Xvifi15, Xvifi16, Xvifi17, Xvifi18, Xvifi19, Xvifi20,
--//         Xvifi21, Xvifi22, Xvifi23, Xvifi24, Xvifi25, Xvifi26,
--//         Xvifi27, Xvifi28, Xvifi29, Xvifi30, Xvifi31);
--//
--/ end if;

    type X_Visual_Info_Flags is array (X_Visual_Info_Flags_Index) of Boolean;

--/ if Length_Clauses then
    for X_Visual_Info_Flags'Size use 32;
--/ elsif Pack then
--//     pragma Pack (X_Visual_Info_Flags);
--/ end if;

    Visual_No_Mask : constant X_Visual_Info_Flags :=  
       (others => False);

--/ if Bit0_Sign_Bit then

    Visual_All_Mask : constant X_Visual_Info_Flags :=  
       X_Visual_Info_Flags'  
          (Visual_Colormap_Size_Mask .. Visual_Id_Mask => True,  
           others => False);

--/ else -- not Bit0_Sign_Bit then
--//
--//     Visual_All_Mask : constant X_Visual_Info_Flags :=
--//        X_Visual_Info_Flags'
--//           (Visual_Id_Mask .. Visual_Colormap_Size_Mask => True,
--//            others => False);
--//
--/ end if;

end Xlbt_Visual3;  

E3 Meta Data

    nblk1=d
    nid=b
    hdr6=18
        [0x00] rec0=1d rec1=00 rec2=01 rec3=00e
        [0x01] rec0=10 rec1=00 rec2=02 rec3=070
        [0x02] rec0=17 rec1=00 rec2=03 rec3=054
        [0x03] rec0=15 rec1=00 rec2=04 rec3=07e
        [0x04] rec0=01 rec1=00 rec2=0d rec3=032
        [0x05] rec0=17 rec1=00 rec2=05 rec3=044
        [0x06] rec0=15 rec1=00 rec2=0c rec3=048
        [0x07] rec0=06 rec1=00 rec2=06 rec3=008
        [0x08] rec0=15 rec1=00 rec2=07 rec3=01e
        [0x09] rec0=00 rec1=00 rec2=0a rec3=014
        [0x0a] rec0=1d rec1=00 rec2=08 rec3=030
        [0x0b] rec0=1c rec1=00 rec2=09 rec3=000
        [0x0c] rec0=00 rec1=80 rec2=00 rec3=000
    tail 0x2170078e281978543f4b0 0x42a00088462063203
Free Block Chain:
  0xb: 0000  00 00 00 04 80 01 20 01 00 00 00 00 00 00 00 00  ┆                ┆