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

⟦bb7db5cb3⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Graphic_Lines, seg_00467c

Derivation

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

E3 Source Code



--| @SUMMARY This package draws graphic lines on the terminal.  All procedures
--|    assume the existence of an open output window.
--| @DESCRIPTION See the description of each procedure.
--| @INDICES (Graphics, Window_Io)
with Window_Io;
package Graphic_Lines is

    subtype Line_Number is Window_Io.Line_Number;
    subtype Col_Number  is Window_Io.Column_Number;
    subtype Window_Id   is Window_Io.File_Type;


    --| @DESCRIPTION Draws a vertical line from one window line to another,
    --|    given a column number.  If there are other graphics characters
    --|    along the line, they are overwritten.
    procedure Draw_Vertical (From_Line     : Line_Number;
                             To_Line       : Line_Number;
                             In_Column     : Col_Number;
                             Output_Window : Window_Id);


    --| @DESCRIPTION Draws a horizontal line from one window column to
    --|    another, given a line number.  If there are other graphics
    --|    characters along the column, they are overwritten.
    procedure Draw_Horizontal (From_Col      : Col_Number;
                               To_Col        : Col_Number;
                               On_Line       : Line_Number;
                               Output_Window : Window_Id);


    --| @DESCRIPTION Draws a graphic box of any size.
    procedure Draw_Box (First_Line    : Line_Number;
                        First_Col     : Col_Number;
                        Second_Line   : Line_Number;
                        Second_Col    : Col_Number;
                        Output_Window : Window_Id);


    --| @DESCRIPTION Connects two points in a column with a vertical
    --|    line.  If any graphics characters fall along the line, the
    --|    procedure attempts to connect them.  For instance, if the
    --|    new vertical line will cross a horizontal line, an intersection
    --|    character is displayed.
    --| @SPECIAL_NOTES If the endpoints of the vertical line are blank,
    --|    the procedure places graphic "dots" at the endpoints.  Presumably
    --|    this is because future calls to Connect_Vertical or Connect_
    --|    Horizontal will eliminate them.
    procedure Connect_Vertical (From_Line     : Line_Number;
                                To_Line       : Line_Number;
                                In_Column     : Col_Number;
                                Output_Window : Window_Id);


    --| @DESCRIPTION Connects two points in a line with a horizontal
    --|    line.  If any graphics characters fall along the line, the
    --|    procedure attempts to connect them.  For instance, if the
    --|    new horizontal line will cross a vertical line, an intersection
    --|    character is displayed.
    --| @SPECIAL_NOTES If the endpoints of the horizontal line are blank,
    --|    the procedure places graphic "dots" at the endpoints.  Presumably
    --|    this is because future calls to Connect_Vertical or Connect_
    --|    Horizontal will eliminate them.
    procedure Connect_Horizontal (From_Col      : Col_Number;
                                  To_Col        : Col_Number;
                                  On_Line       : Line_Number;
                                  Output_Window : Window_Id);

end Graphic_Lines;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=18 rec1=00 rec2=01 rec3=064
        [0x01] rec0=00 rec1=00 rec2=05 rec3=006
        [0x02] rec0=15 rec1=00 rec2=02 rec3=02a
        [0x03] rec0=11 rec1=00 rec2=03 rec3=036
        [0x04] rec0=08 rec1=00 rec2=04 rec3=000
    tail 0x2150045fe815c667e001a 0x42a00088462061e03