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

⟦08aec1761⟧ TextFile

    Length: 4676 (0x1244)
    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;

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

--\f

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