|
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: 10165 (0x27b5) Types: TextFile Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦059497ac5⟧ └─⟦this⟧
with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_Basic; use Xlbt_Basic; with Xlbt_Gc; use Xlbt_Gc; with Xlbt_Graphics; use Xlbt_Graphics; with Xlbt_Region; use Xlbt_Region; package Xlbp_Region is ------------------------------------------------------------------------------ -- X Library Regions -- -- Xlbp_Region - Create and manipulate regions. ------------------------------------------------------------------------------ -- 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 function X_Polygon_Region (Points : X_Point_Array; -- the points Rule : X_Fill_Rule -- winding rule ) return X_Region; ------------------------------------------------------------------------------ -- Points - Specifies an array of points. -- Rule - Specifies the fill rule to use for the polygon. Even_Odd_Rule, -- Winding_Rule. -- -- Returns a region defined by the points array. ------------------------------------------------------------------------------ function X_Create_Region return X_Region; ------------------------------------------------------------------------------ -- Returns a new empty region. ------------------------------------------------------------------------------ procedure X_Clip_Box (Region : X_Region; Rectangle : out X_Rectangle); ------------------------------------------------------------------------------ -- Region - Specifies the region. This is the region in which the -- rectangle is located. -- Rectangle - Receives the rectangle which is the smallest enclosing -- rectangle. -- -- Generates the smallest enclosing rectangle in the specified rectangle that -- is located in the specified region. ------------------------------------------------------------------------------ procedure X_Destroy_Region (Region : in out X_Region) renames Free_X_Region; ------------------------------------------------------------------------------ -- Region - Specifies the region to destroy/free. -- -- Frees up the space associated with the regions. ------------------------------------------------------------------------------ procedure X_Intersect_Region (Region1 : X_Region; Region2 : X_Region; New_Region : X_Region); ------------------------------------------------------------------------------ -- Region1 - Specifies the first region. -- Region2 - Specifies the second region. -- New_Region - Receives the intersection of the two regions. -- -- Computes the intersection of two regions. ------------------------------------------------------------------------------ function X_Empty_Region (Region : X_Region) return Boolean; ------------------------------------------------------------------------------ -- Region - Specifies the region to check. -- -- Returns True if the region is empty. ------------------------------------------------------------------------------ function X_Equal_Region (Region1 : X_Region; Region2 : X_Region) return Boolean; ------------------------------------------------------------------------------ -- Region1 - Specifies the first region. -- Region2 - Specifies the second region. -- -- Returns True if the two regions are the same; they have the same offset, -- size, and shape. ------------------------------------------------------------------------------ procedure X_Offset_Region (Region : X_Region; Dx : S_Short; Dy : S_Short); ------------------------------------------------------------------------------ -- Region - Specifies the region to be offset. -- Dx - Specifies the X offset. -- Dy - Specifies the Y offset. -- -- Moves the specified region by a specified amount both X and/or Y. ------------------------------------------------------------------------------ function X_Point_In_Region (Region : X_Region; X : S_Short; Y : S_Short) return Boolean; ------------------------------------------------------------------------------ -- Region - Specifies the region to check. -- X - Specifies the X coordinate to check. -- Y - Specifies the Y coordinate to check. -- -- Returns True if the point X/Y is within the regions. ------------------------------------------------------------------------------ function X_Rect_In_Region (Region : X_Region; X : S_Short; Y : S_Short; Width : U_Short; Height : U_Short) return X_Rect_In_Region_Returns; ------------------------------------------------------------------------------ -- Region - Specifies the region to check. -- X - Specifies the X coordinate to check. -- Y - Specifies the Y coordinate to check. -- Width - Specifies the width of the rectangle. -- Height - Specifies the height of the rectangle. -- -- Returns Rectangle_In if the rectangle is whole within the region; returns -- Rectangle_Part if the rectangle and the region overlap; and Rectangle_Out -- if they do not. ------------------------------------------------------------------------------ procedure X_Set_Region (Display : X_Display; Gc : X_Gc; Region : X_Region); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Gc - Specifies the graphics context. -- Region - Specifies the region. This is the region in which you want to -- set the specified graphics context. -- -- Sets the clip mask in the graphics context to the specified region. Once -- it is set in the GC, the region can be destroyed. ------------------------------------------------------------------------------ procedure X_Shrink_Region (Region : X_Region; Dx : S_Short; Dy : S_Short); ------------------------------------------------------------------------------ -- Region - Specifies the region to shrink. -- Dx - Specifies the amount of X shrinkage. -- Dy - Specifies the amount of Y shrinkage. -- -- Reduces the specified region by a specified amount. Positive values -- shrink the size of the region and negative values expand it. ------------------------------------------------------------------------------ procedure X_Subtract_Region (Region1 : X_Region; Region2 : X_Region; New_Region : X_Region); ------------------------------------------------------------------------------ -- Region1 - Specifies the first region. -- Region2 - Specifies the second region. -- New_Region - Receives the difference of the two regions. -- -- Computes the difference of two regions; Region1 minus Region2. ------------------------------------------------------------------------------ procedure X_Union_Rect_With_Region (Rectangle : X_Rectangle; Region : X_Region; New_Region : X_Region); ------------------------------------------------------------------------------ -- Rectangle - Specifies the rectangle. -- Region - Specifies the region. -- New_Region - Receives the union of the rectangle and the region. -- -- Computes the union of a rectangle and a region. ------------------------------------------------------------------------------ procedure X_Union_Region (Region1 : X_Region; Region2 : X_Region; New_Region : X_Region); ------------------------------------------------------------------------------ -- Region1 - Specifies the first region. -- Region2 - Specifies the second region. -- New_Region - Receives the union of the two regions. -- -- Computes the union of two regions. ------------------------------------------------------------------------------ procedure X_Xor_Region (Region1 : X_Region; Region2 : X_Region; New_Region : X_Region); ------------------------------------------------------------------------------ -- Region1 - Specifies the first region. -- Region2 - Specifies the second region. -- New_Region - Receives the XOR of the two regions. -- -- Computes the XOR of two regions. ------------------------------------------------------------------------------ end Xlbp_Region;