|
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: 6826 (0x1aaa) 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_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. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- 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;