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 - downloadIndex: ┃ T V ┃
Length: 8690 (0x21f2) 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_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. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- 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;