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