|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10240 (0x2800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_Image3, seg_004fc9
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Unchecked_Deallocation;
with Xlbt_Arithmetic;
use Xlbt_Arithmetic;
with Xlbt_Color;
use Xlbt_Color;
with Xlbt_Proc_Var;
use Xlbt_Proc_Var;
package Xlbt_Image3 is
------------------------------------------------------------------------------
-- X Library Image - Full Interface
--
-- Xlbt_Image3 - Screen/Window Images
------------------------------------------------------------------------------
-- 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_Byte_Bit_Order
------------------------------------------------------------------------------
type X_Byte_Bit_Order is (Lsb_First,
Msb_First);
--/ if Length_Clauses then
for X_Byte_Bit_Order'Size use 8;
--/ end if;
None_X_Byte_Bit_Order : constant X_Byte_Bit_Order :=
X_Byte_Bit_Order'Val (0);
------------------------------------------------------------------------------
-- X_Image_Format
------------------------------------------------------------------------------
type X_Image_Format is (X_Y_Bitmap, -- depth 1, X_Y_Format
X_Y_Pixmap, -- depth == drawable depth
Z_Pixmap); -- depth == drawable depth
--/ if Length_Clauses then
for X_Image_Format'Size use 8;
--/ end if;
None_X_Image_Format : constant X_Image_Format := X_Image_Format'Val (0);
------------------------------------------------------------------------------
-- X_Pixmap_Format_Values
------------------------------------------------------------------------------
type X_Pixmap_Format_Values is
record
Depth : U_Char := 0;
Bits_Per_Pixel : U_Char := 0;
Scan_Line_Pad : U_Char := 0;
end record;
type X_Pixmap_Format_Values_Array is
array (S_Natural range <>) of X_Pixmap_Format_Values;
type X_Pixmap_Format_Values_List is access X_Pixmap_Format_Values_Array;
--/ if Pack then
--// pragma Pack (X_Pixmap_Format_Values_Array);
--/ end if;
--/ if Enable_Deallocation then
pragma Enable_Deallocation (X_Pixmap_Format_Values_List);
--/ end if;
None_X_Pixmap_Format_Values : constant X_Pixmap_Format_Values := (0, 0, 0);
None_X_Pixmap_Format_Values_List :
constant
X_Pixmap_Format_Values_List := null;
procedure Free_X_Pixmap_Format_Values_List is
new Unchecked_Deallocation (X_Pixmap_Format_Values_Array,
X_Pixmap_Format_Values_List);
------------------------------------------------------------------------------
-- X_Image_Funcs
------------------------------------------------------------------------------
type X_Image_Funcs is
record
Create_Image : X_Procedure_Variable;
----X_Create_Image.Pv;
Destroy_Image : X_Procedure_Variable;
----X_Destroy_Image.Pv;
Get_Pixel : X_Procedure_Variable;
----X_Get_Pixel.Pv;
Put_Pixel : X_Procedure_Variable;
----X_Put_Pixel.Pv;
Sub_Image : X_Procedure_Variable;
----X_Sub_Image.Pv;
Add_Pixel : X_Procedure_Variable;
----X_Add_Pixel.Pv;
end record;
------------------------------------------------------------------------------
-- X_Image - Image data structure - used by image manipulation routines.
------------------------------------------------------------------------------
type X_Image_Rec is
record
Width : U_Short := 0;
----Size of image
Height : U_Short := 0;
----Size of image
X_Offset : S_Short := 0;
----# of pixels offset in X direction
Format : X_Image_Format := None_X_Image_Format;
----X_Y_Bitmap, X_Y_Pixmap, Z_Pixmap
Data : U_Char_List := None_U_Char_List;
----Pointer to image data
Data_Is_Shared : Boolean := False;
----True if data is not freed when X_Image_Rec is freed.
Byte_Order : X_Byte_Bit_Order := None_X_Byte_Bit_Order;
----Data byte order, Lsb_First, Msb_First
Bitmap_Unit : U_Char := 0;
----Quantity of scanline 8, 16, 32
Bitmap_Bit_Order : X_Byte_Bit_Order := None_X_Byte_Bit_Order;
----Lsb_First, Msb_First
Bitmap_Pad : U_Char := 0;
----8, 16, 32 either XY or Z_Pixmap
Depth : U_Char := 0;
----Depth of image
Bytes_Per_Line : U_Short := 0;
----Accelerator to next line
Bits_Per_Pixel : U_Char := 0;
----Bits per pixel (Z_Pixmap)
Red_Mask : X_Red_Color_Mask := None_X_Color_Mask;
----Bits in z arrangement
Green_Mask : X_Green_Color_Mask := None_X_Color_Mask;
----Bits in z arrangement
Blue_Mask : X_Blue_Color_Mask := None_X_Color_Mask;
----Bits in z arrangement
Obdata : U_Char_List := None_U_Char_List;
----Hook for object routines to hang on
F : X_Image_Funcs;
----Image manipulation routines
end record;
type X_Image is access X_Image_Rec;
--/ if Enable_Deallocation then
pragma Enable_Deallocation (X_Image);
--/ end if;
None_X_Image : constant X_Image := null;
procedure Free_X_Image (Image : in out X_Image);
end Xlbt_Image3;
nblk1=9
nid=0
hdr6=12
[0x00] rec0=1b rec1=00 rec2=01 rec3=036
[0x01] rec0=11 rec1=00 rec2=02 rec3=060
[0x02] rec0=1c rec1=00 rec2=03 rec3=04a
[0x03] rec0=1b rec1=00 rec2=04 rec3=036
[0x04] rec0=00 rec1=00 rec2=09 rec3=016
[0x05] rec0=18 rec1=00 rec2=05 rec3=082
[0x06] rec0=17 rec1=00 rec2=06 rec3=032
[0x07] rec0=1b rec1=00 rec2=07 rec3=034
[0x08] rec0=03 rec1=00 rec2=08 rec3=000
tail 0x2170074ce819784628bd9 0x42a00088462063203