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

⟦63f421ea2⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_Color, seg_004fa0

Derivation

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

E3 Source Code



with Unchecked_Deallocation;

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic3;  
use Xlbt_Basic3;

package Xlbt_Color is
------------------------------------------------------------------------------
-- X Library Color
--
-- Xlbt_Color - Types dealing with Colors
--------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1985 - 1989 by the Massachusetts Institute of Technology
--
--                  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 MIT or Rational not be
-- used in advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- MIT and Rational disclaim all warranties with regard to this software,
-- including all implied warranties of merchantability and fitness, in no
-- event shall 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_Color_Flags
------------------------------------------------------------------------------

--/ if Bit0_Sign_Bit then

    type X_Color_Flags_Index is  
       (Xcfi0, Xcfi1, Xcfi2, Xcfi3, Xcfi4,      -- Unused
        Do_Blue,    -- Use Blue
        Do_Green,   -- Use Green
        Do_Red);    -- Use Red

--/ else -- not Bit0_Sign_Bit then
--//
--//     type X_Color_Flags_Index is
--//        (Do_Red,     -- Use Red
--//         Do_Green,    -- Use Green
--//         Do_Blue,     -- Use Blue
--//         Xcfi4, Xcfi3, Xcfi2, Xcfi1, Xcfi0);  -- Unused
--//
--/ end if;

    type X_Color_Flags is array (X_Color_Flags_Index) of Boolean;

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

    None_X_Color_Flags : constant X_Color_Flags :=  
       (others => False);

------------------------------------------------------------------------------
-- X_Color_Mask
------------------------------------------------------------------------------

    type X_Color_Mask is new S_Long;

--/ if Length_Clauses then
    for X_Color_Mask'Size use 32;
--/ end if;

    subtype X_Red_Color_Mask   is X_Color_Mask;  
    subtype X_Green_Color_Mask is X_Color_Mask;  
    subtype X_Blue_Color_Mask  is X_Color_Mask;

    None_X_Color_Mask : constant X_Color_Mask := 0;

------------------------------------------------------------------------------
-- X_Color - Data structure used by color operations
------------------------------------------------------------------------------

    type X_Color is  
        record  
            Pixel : X_Pixel  := None_X_Pixel;  
            Red   : U_Short  := 0;  
            Green : U_Short  := 0;  
            Blue  : U_Short  := 0;  
            Flags :                         -- Do_Red, Do_Green, Do_Blue
               X_Color_Flags := None_X_Color_Flags;  
            Pad   : U_Char   := 0;  
        end record;

--/ if Length_Clauses then
    for X_Color'Size use 3 * 32;
--/ end if;

    type X_Color_Array is array (S_Natural range <>) of X_Color;  
    type X_Color_List  is access X_Color_Array;

--/ if Pack then
--//     pragma Pack (X_Color_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Color_List);
--/ end if;

    None_X_Color      : constant X_Color      :=  
       (None_X_Pixel, 0, 0, 0, None_X_Color_Flags, 0);  
    None_X_Color_List : constant X_Color_List := null;

    procedure Free_X_Color_List is  
       new Unchecked_Deallocation (X_Color_Array,  
                                   X_Color_List);

------------------------------------------------------------------------------
-- X_Colormap_Alloc
------------------------------------------------------------------------------

    type X_Colormap_Alloc is (Alloc_None, -- create map with no entries
                              Alloc_All); -- allocate entire map writable

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

end Xlbt_Color;  

E3 Meta Data

    nblk1=6
    nid=5
    hdr6=a
        [0x00] rec0=19 rec1=00 rec2=01 rec3=08e
        [0x01] rec0=16 rec1=00 rec2=02 rec3=038
        [0x02] rec0=23 rec1=00 rec2=03 rec3=034
        [0x03] rec0=1c rec1=00 rec2=06 rec3=044
        [0x04] rec0=1a rec1=00 rec2=04 rec3=000
        [0x05] rec0=00 rec1=00 rec2=00 rec3=080
    tail 0x215009674819783d466d4 0x42a00088462063203
Free Block Chain:
  0x5: 0000  00 00 03 6b 80 04 20 69 66 3b 04 00 1f 2d 2d 2f  ┆   k   if;   --/┆