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: 13605 (0x3525) 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_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;