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

⟦c94ee2c6e⟧ Ada Source

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

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

package body Graphics is
    procedure Open (Display : String := "arnica") is
        X, Y : Integer := 0;
    begin
        Easy_X.Open (Display, "Fenetre", 50, 50, 750, 750);
        Graphiques.Plot (X, Y);
    end Open;


    procedure Close is
    begin
        Easy_X.Close;
    end Close;


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


    procedure Draw (X : in Integer; Y : in Integer) is
    begin
        Easy_X.Move_To (Easy_X.Coordinate (X_Current),
                        Easy_X.Coordinate (Y_Current));
        X_Current := X;
        Y_Current := Y;
        Easy_X.Line_To (Easy_X.Coordinate (X_Current),
                        Easy_X.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_X.Move_To (Easy_X.Coordinate (X_Current),
                        Easy_X.Coordinate (Y_Current));
        Easy_X.Line_To (Easy_X.Coordinate (X_Current),
                        Easy_X.Coordinate (Y_Current));
    end Plot;


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

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


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

end Graphics;

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=27 rec1=00 rec2=01 rec3=048
        [0x01] rec0=1d rec1=00 rec2=04 rec3=012
        [0x02] rec0=12 rec1=00 rec2=02 rec3=000
        [0x03] rec0=12 rec1=00 rec2=02 rec3=000
    tail 0x2172f9fbc84d1745fe556 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 00 05 80 02 72 3b 02 45 61 73 79 5f 58 2e  ┆      r; Easy_X.┆