|
|
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 - metrics - 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;