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

⟦a87ba4991⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Graphic_Y, seg_034d52

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 Easy_Y;
with Object;

package body Graphic_Y is
    procedure Open (The_Display : String := "Aneth";
                    The_Window : in out Easy_Y.Window_Type) is
    begin
        Easy_Y.Open (Display => The_Display, Window => The_Window);
        Graphic_Y.Plot (0, 0);
        X_Current := 0;
        Easy_Y.Put_X (Window => The_Window, X => Object.Index (X_Current));
        Y_Current := 0;
        Easy_Y.Put_Y (Window => The_Window, Y => Object.Index (Y_Current));
    end Open;


    procedure Close (The_Window : in out Easy_Y.Window_Type) is
    begin
        Easy_Y.Close (Window => The_Window);
    end Close;


    procedure Move (X : in Integer; Y : in Integer) is
    begin
        X_Current := X;
        Y_Current := Y;
        Easy_Y.Move_To (Easy_Y.Coordinate (X_Current),
                        Easy_Y.Coordinate (Y_Current));
    end Move;


    procedure Draw (X : in Integer; Y : in Integer) is
    begin
        Easy_Y.Move_To (Easy_Y.Coordinate (X_Current),
                        Easy_Y.Coordinate (Y_Current));
        X_Current := X;
        Y_Current := Y;
        Easy_Y.Line_To (Easy_Y.Coordinate (X_Current),
                        Easy_Y.Coordinate (Y_Current));
    end Draw;


    procedure Carre (X : in Integer; Y : in Integer; Cote : in Integer) is
    begin
        Move (X, Y);
        Draw (X + Cote, Y);
        Draw (X + Cote, Y + Cote);
        Draw (X, Y + Cote);
        Draw (X, Y);
    end Carre;


    procedure Plot (X : in Integer; Y : in Integer) is
    begin
        X_Current := X;
        Y_Current := Y;
        Easy_Y.Move_To (Easy_Y.Coordinate (X_Current),
                        Easy_Y.Coordinate (Y_Current));
        Easy_Y.Line_To (Easy_Y.Coordinate (X_Current),
                        Easy_Y.Coordinate (Y_Current));
    end Plot;


    procedure Rectangle (X1 : in Integer;
                         Y1 : in Integer;
                         X2 : in Integer;
                         Y2 : in Integer) is
    begin
        Easy_Y.Move_To (Easy_Y.Coordinate (X1), Easy_Y.Coordinate (Y1));       Easy_Y.Line_To (Easy_Y.Coordinate (X2), Easy_Y.Coordinate (Y1));
        Easy_Y.Line_To (Easy_Y.Coordinate (X2), Easy_Y.Coordinate (Y2));
        Easy_Y.Line_To (Easy_Y.Coordinate (X1), Easy_Y.Coordinate (Y2));
        Easy_Y.Line_To (Easy_Y.Coordinate (X1), Easy_Y.Coordinate (Y1));
    end Rectangle;

    procedure Thick (Taille : in Integer) is
    begin
        Easy_Y.Set_Pen (Easy_Y.Dimension (Taille));
    end Thick;


    procedure Write (A_String : in String; Font : in Size := Medium) is
    begin
        Easy_Y.Draw_String (A_String);
        Easy_Y.Set_Font (Easy_Y.Fonts'Val (Size'Pos (Font)));
    end Write;

    procedure Set_Display (Display : Integer) is
    begin
        null;
    end Set_Display;


    function Get_Display return Integer is
        I : Integer;
    begin
        return I;
    end Get_Display;

end Graphic_Y;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=23 rec1=00 rec2=01 rec3=01a
        [0x01] rec0=04 rec1=00 rec2=02 rec3=01e
        [0x02] rec0=20 rec1=00 rec2=04 rec3=002
        [0x03] rec0=20 rec1=00 rec2=03 rec3=000
    tail 0x217313a5e84d75f043b97 0x42a00088462060003