DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦443d14ccc⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbp_Region, seg_004f7e

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



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.
------------------------------------------------------------------------------

--\x0c
    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;  

E3 Meta Data

    nblk1=b
    nid=0
    hdr6=16
        [0x00] rec0=1c rec1=00 rec2=01 rec3=086
        [0x01] rec0=11 rec1=00 rec2=02 rec3=054
        [0x02] rec0=14 rec1=00 rec2=03 rec3=008
        [0x03] rec0=14 rec1=00 rec2=04 rec3=038
        [0x04] rec0=15 rec1=00 rec2=05 rec3=096
        [0x05] rec0=16 rec1=00 rec2=06 rec3=006
        [0x06] rec0=15 rec1=00 rec2=07 rec3=016
        [0x07] rec0=14 rec1=00 rec2=08 rec3=008
        [0x08] rec0=12 rec1=00 rec2=09 rec3=026
        [0x09] rec0=15 rec1=00 rec2=0a rec3=010
        [0x0a] rec0=0a rec1=00 rec2=0b rec3=000
    tail 0x217006e80819782fbee1e 0x42a00088462063203