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

⟦e2956b124⟧ TextFile

    Length: 13605 (0x3525)
    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;  
with Xlbt_Extension4;  
use Xlbt_Extension4;

package Xlbt_Gc3 is
------------------------------------------------------------------------------
-- X Library Graphics Context - Full Interface
--
-- Xlbt_Gc3 - Types that need not be imported directly into most programs.
------------------------------------------------------------------------------
-- 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_Arc_Mode
------------------------------------------------------------------------------

    type X_Arc_Mode is (Arc_Chord,       -- join endpoints of arc
                        Arc_Pie_Slice);  -- join endpoints to center of arc

    None_X_Arc_Mode : constant X_Arc_Mode := X_Arc_Mode'Val (0);

------------------------------------------------------------------------------
-- X_Best_Size_Class
------------------------------------------------------------------------------

    type X_Best_Size_Class is  
       (Cursor_Shape,       -- largest size that can be displayed
        Tile_Shape,         -- size tiled fastest
        Stipple_Shape);     -- size stippled fastest

--/ if Length_Clauses then
    for X_Best_Size_Class'Size use 8;
--/ end if;

------------------------------------------------------------------------------
-- X_Cap_Style
------------------------------------------------------------------------------

    type X_Cap_Style is (Cap_Not_Last,  
                         Cap_Butt,  
                         Cap_Round,  
                         Cap_Projecting);

    None_X_Cap_Style : constant X_Cap_Style := X_Cap_Style'Val (0);

------------------------------------------------------------------------------
-- X_Clip_Ordering
------------------------------------------------------------------------------

    type X_Clip_Ordering is (Unsorted,  
                             Y_Sorted,  
                             Y_X_Sorted,  
                             Y_X_Banded);

--/ if Length_Clauses then
    for X_Clip_Ordering'Size use 8;
--/ end if;

    None_X_Clip_Ordering : constant X_Clip_Ordering := X_Clip_Ordering'Val (0);

------------------------------------------------------------------------------
-- X_Fill_Rule
------------------------------------------------------------------------------

    type X_Fill_Rule is (Even_Odd_Rule,  
                         Winding_Rule);

    None_X_Fill_Rule : constant X_Fill_Rule := X_Fill_Rule'Val (0);

------------------------------------------------------------------------------
-- X_Fill_Style
------------------------------------------------------------------------------

    type X_Fill_Style is (Fill_Solid,  
                          Fill_Tiled,  
                          Fill_Stippled,  
                          Fill_Opaque_Stippled);

    None_X_Fill_Style : constant X_Fill_Style := X_Fill_Style'Val (0);

------------------------------------------------------------------------------
-- X_Gc_Components - masks used in X_Create_Gc, X_Copy_Gc, X_Change_Gc,
-- OR'ed into GC.State_Changes
------------------------------------------------------------------------------

--/ if Bit0_Sign_Bit then

    type X_Gc_Components_Index is  
       (Xgcl31, Xgcl30, Xgcl29, Xgcl28, Xgcl27,  
        Xgcl26, Xgcl25, Xgcl24, Xgcl23, -- Unused
        Gc_Arc_Mode,  
        Gc_Dash_List,  
        Gc_Dash_Offset,  
        Gc_Clip_Mask,  
        Gc_Clip_Y_Origin,  
        Gc_Clip_X_Origin,  
        Gc_Graphics_Exposures,  
        Gc_Subwindow_Mode,  
        Gc_Font,  
        Gc_Tile_Stip_Y_Origin,  
        Gc_Tile_Stip_X_Origin,  
        Gc_Stipple,  
        Gc_Tile,  
        Gc_Fill_Rule,  
        Gc_Fill_Style,  
        Gc_Join_Style,  
        Gc_Cap_Style,  
        Gc_Line_Style,  
        Gc_Line_Width,  
        Gc_Background,  
        Gc_Foreground,  
        Gc_Plane_Mask,  
        Gc_Function);

--/ else -- not Bit0_Sign_Bit then
--//
--//     type X_Gc_Components_Index is
--//        (Gc_Function,
--//         Gc_Plane_Mask,
--//         Gc_Foreground,
--//         Gc_Background,
--//         Gc_Line_Width,
--//         Gc_Line_Style,
--//         Gc_Cap_Style,
--//         Gc_Join_Style,
--//         Gc_Fill_Style,
--//         Gc_Fill_Rule,
--//         Gc_Tile,
--//         Gc_Stipple,
--//         Gc_Tile_Stip_X_Origin,
--//         Gc_Tile_Stip_Y_Origin,
--//         Gc_Font,
--//         Gc_Subwindow_Mode,
--//         Gc_Graphics_Exposures,
--//         Gc_Clip_X_Origin,
--//         Gc_Clip_Y_Origin,
--//         Gc_Clip_Mask,
--//         Gc_Dash_Offset,
--//         Gc_Dash_List,
--//         Gc_Arc_Mode,
--//         Xgcl23, Xgcl24, Xgcl25, Xgcl26, Xgcl27,
--//         Xgcl28, Xgcl29, Xgcl30, Xgcl31); -- Unused
--//
--/ end if;

    Gc_Last_Bit : constant X_Gc_Components_Index := Gc_Arc_Mode;


    type X_Gc_Components is array (X_Gc_Components_Index) of Boolean;

--/ if Length_Clauses then
    for X_Gc_Components'Size use 32;
--/ elsif Pack then
--//     pragma Pack (X_Gc_Components);
--/ end if;

    None_X_Gc_Components : constant X_Gc_Components :=  
       (others => False);

    All_Gc_Components : constant X_Gc_Components :=  
       X_Gc_Components'(Xgcl31 | Xgcl30 | Xgcl29 | Xgcl28 | Xgcl27 |  
                        Xgcl26 | Xgcl25 | Xgcl24 | Xgcl23 => False, -- Unused

                        Gc_Arc_Mode | Gc_Dash_List | Gc_Dash_Offset |  
                        Gc_Clip_Mask | Gc_Clip_Y_Origin | Gc_Clip_X_Origin |  
                        Gc_Graphics_Exposures | Gc_Subwindow_Mode | Gc_Font |  
                        Gc_Tile_Stip_Y_Origin | Gc_Tile_Stip_X_Origin |  
                        Gc_Stipple | Gc_Tile | Gc_Fill_Rule |  
                        Gc_Fill_Style | Gc_Join_Style | Gc_Cap_Style |  
                        Gc_Line_Style | Gc_Line_Width | Gc_Background |  
                        Gc_Foreground | Gc_Plane_Mask | Gc_Function => True);

------------------------------------------------------------------------------
-- X_Graphic_Function
------------------------------------------------------------------------------

    type X_Graphic_Function is  
       (Gx_Clear,        -- 0
        Gx_And,          -- src AND dst
        Gx_And_Reverse,  -- src AND NOT dst
        Gx_Copy,         -- src
        Gx_And_Inverted, -- NOT src AND dst
        Gx_Noop,         -- dst
        Gx_Xor,          -- src X_OR dst
        Gx_Or,           -- src OR dst
        Gx_Nor,          -- NOT src AND NOT dst
        Gx_Equiv,        -- NOT src X_OR dst
        Gx_Invert,       -- NOT dst
        Gx_Or_Reverse,   -- src OR NOT dst
        Gx_Copy_Inverted,-- NOT src
        Gx_Or_Inverted,  -- NOT src OR dst
        Gx_Nand,         -- NOT src OR NOT dst
        Gx_Set);         -- 1

--/ if Length_Clauses then
    for X_Graphic_Function'Size use 32;
--/ end if;

    None_X_Graphic_Function : constant X_Graphic_Function :=  
       X_Graphic_Function'Val (0);

------------------------------------------------------------------------------
-- X_Join_Style
------------------------------------------------------------------------------

    type X_Join_Style is (Join_Miter,  
                          Join_Round,  
                          Join_Bevel);

    None_X_Join_Style : constant X_Join_Style := X_Join_Style'Val (0);

------------------------------------------------------------------------------
-- X_Line_Style
------------------------------------------------------------------------------

    type X_Line_Style is (Line_Solid,  
                          Line_On_Off_Dash,  
                          Line_Double_Dash);

    None_X_Line_Style : constant X_Line_Style := X_Line_Style'Val (0);

------------------------------------------------------------------------------
-- X_Subwindow_Mode
------------------------------------------------------------------------------

    type X_Subwindow_Mode is (Clip_By_Children,  
                              Include_Inferiors);

    None_X_Subwindow_Mode : constant X_Subwindow_Mode :=  
       X_Subwindow_Mode'Val (0);

--\f

------------------------------------------------------------------------------
-- X_Gc_Values - Graphic data structure for setting a Graphics Context.
------------------------------------------------------------------------------

    type X_Gc_Values is  
        record  
            Funct :                        -- logical operation
               X_Graphic_Function := None_X_Graphic_Function;  
            Plane_Mask :                   -- plane mask
               X_Plane_Mask := No_Planes;  
            Foreground :                   -- foreground pixel
               X_Pixel := None_X_Pixel;  
            Background :                   -- background pixel
               X_Pixel := None_X_Pixel;  
            Line_Width : U_Short := 0;     -- line width
            Line_Style : X_Line_Style := None_X_Line_Style;  
            Cap_Style : X_Cap_Style := None_X_Cap_Style;  
            Join_Style : X_Join_Style := None_X_Join_Style;  
            Fill_Style : X_Fill_Style := None_X_Fill_Style;  
            Fill_Rule : X_Fill_Rule := None_X_Fill_Rule;  
            Arc_Mode : X_Arc_Mode := None_X_Arc_Mode;  
            Tile : X_Pixmap :=             -- tile pixmap for tiling operations
               None_X_Pixmap;  
            Stipple :                      -- stipple 1 plane pixmap for
               X_Pixmap := None_X_Pixmap;  --  stippling
            Ts_X_Origin : S_Short := 0;    -- offset for tile or stipple
            Ts_Y_Origin : S_Short := 0;    --  operations
            Font : X_Font;                 -- default text font for text
                                           --  operations
            Subwindow_Mode : X_Subwindow_Mode := None_X_Subwindow_Mode;  
            Graphics_Exposures :           -- should exposures be generated
               Boolean := False;  
            Clip_X_Origin :                -- origin for clipping
               S_Short := 0;  
            Clip_Y_Origin : S_Short := 0;  
            Clip_Mask :                    -- bitmap clipping; other calls
               X_Pixmap := None_X_Pixmap;  --  for rects
            Dash_Offset : U_Short := 0;    -- patterned/dashed line information
            Dashes : U_Char := 0;  
        end record;

    None_X_Gc_Values : constant X_Gc_Values :=  
       (None_X_Graphic_Function, No_Planes, None_X_Pixel,  
        None_X_Pixel, 0, None_X_Line_Style, None_X_Cap_Style,  
        None_X_Join_Style, None_X_Fill_Style, None_X_Fill_Rule,  
        None_X_Arc_Mode, None_X_Pixmap, None_X_Pixmap, 0, 0, None_X_Font,  
        None_X_Subwindow_Mode, False, 0, 0, None_X_Pixmap, 0, 0);

--\f

------------------------------------------------------------------------------
-- X_Gc - Graphics context.  All X_lib routines deal in this rather than
-- in raw protocol G_Context ID's.  This is so that the library can keep
-- a "shadow" set of values, and thus avoid passing values over the
-- wire which are not in fact changing.
------------------------------------------------------------------------------

    type X_Gc_Rec is  
        record  
            Ext_Data : X_Ext_Data := null;  -- hook for extension to hang data
            Gid :                           -- protocol ID for graphics context
               X_G_Context := None_X_G_Context;  
            Rects : Boolean := False;       -- TRUE if clipmask is list
                                            --  of rectangles
            Dashes : Boolean := False;      -- boolean: TRUE if dash-list is
                                            --  really a list
            Dirty :                         -- cache dirty bits
               X_Gc_Components := None_X_Gc_Components;  
            Values : X_Gc_Values;       -- shadow structure of values
        end record;

    type X_Gc is access X_Gc_Rec;

--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Gc);
--/ end if;

    None_X_Gc : constant X_Gc := null;

    type X_Gc_Array is array (S_Natural range <>) of X_Gc;  
    type X_Gc_List  is access X_Gc_Array;

--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Gc);
--/ end if;

    None_X_Gc_List : constant X_Gc_List := null;

----procedure Free_X_Gc ---- Use Xlbp_Gc.X_Free_Gc to free an X_Gc.

end Xlbt_Gc3;