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

⟦465ac862b⟧ Ada Source

    Length: 14336 (0x3800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Textedit, seg_021ff1

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



--      Copyright (c) 1990 Meridian Software Systems, Inc.      --
with Mac_Types;
use Mac_Types;
with Quickdraw;
package Textedit is

    Tejustleft : constant := 0;
    Tejustcenter : constant := 1;
    Tejustright : constant := -1;
    Teforceleft : constant := -2;
    Dofont : constant := 1;
    Doface : constant := 2;
    Dosize : constant := 4;
    Docolor : constant := 8;
    Doall : constant := 15;
    Addsize : constant := 16;
    Dotoggle : constant := 32;
    Inteolhook : constant := 0;
    Intdrawhook : constant := 1;
    Intwidthhook : constant := 2;
    Inthittesthook : constant := 3;

    type Array0_16000integer is array (0 .. 16000) of Mac_Types.Integer;
    type Terec is
        record
            Destrect : Rect;
            Viewrect : Rect;
            Selrect : Rect;
            Lineheight : Mac_Types.Integer;
            Fontascent : Mac_Types.Integer;
            Selpoint : Point;
            Selstart : Mac_Types.Integer;
            Selend : Mac_Types.Integer;
            Active : Mac_Types.Integer;
            Wordbreak : Procptr;
            Clikloop : Procptr;
            Clicktime : Longint;
            Clickloc : Mac_Types.Integer;
            Carettime : Longint;
            Caretstate : Mac_Types.Integer;
            Just : Mac_Types.Integer;
            Telength : Mac_Types.Integer;
            Htext : Handle;
            Recalback : Mac_Types.Integer;
            Recallines : Mac_Types.Integer;
            Clikstuff : Mac_Types.Integer;
            Cronly : Mac_Types.Integer;
            Txfont : Mac_Types.Integer;
            Txface : Quickdraw.Style;
            Txmode : Mac_Types.Integer;
            Txsize : Mac_Types.Integer;
            Inport : Quickdraw.Grafptr;
            Highhook : Procptr;
            Carethook : Procptr;
            Nlines : Mac_Types.Integer;
            Linestarts : Array0_16000integer;
        end record;
    type Teptr is access Terec;
    type Tehandle is access Teptr;

    type Chars is array (0 .. 32000) of Char;
    type Charsptr is access Chars;
    type Charshandle is access Charsptr;
    type Stylerun is
        record
            Startchar : Mac_Types.Integer;
            Styleindex : Mac_Types.Integer;
        end record;

    type Stelement is
        record
            Stcount : Mac_Types.Integer;
            Stheight : Mac_Types.Integer;
            Stascent : Mac_Types.Integer;
            Stfont : Mac_Types.Integer;
            Stface : Quickdraw.Style;
            Stsize : Mac_Types.Integer;
            Stcolor : Quickdraw.Rgbcolor;
        end record;

    type Testyletable is array (0 .. 1776) of Stelement;
    type Stptr is access Testyletable;
    type Sthandle is access Stptr;
    type Lhelement is
        record
            Lhheight : Mac_Types.Integer;
            Lhascent : Mac_Types.Integer;
        end record;

    type Lhtable is array (0 .. 8000) of Lhelement;
    type Lhptr is access Lhtable;
    type Lhhandle is access Lhptr;
    type Scrpstelement is
        record
            Scrpstartchar : Longint;
            Scrpheight : Mac_Types.Integer;
            Scrpascent : Mac_Types.Integer;
            Scrpfont : Mac_Types.Integer;
            Scrpface : Quickdraw.Style;
            Scrpsize : Mac_Types.Integer;
            Scrpcolor : Quickdraw.Rgbcolor;
        end record;

    type Scrpsttable is array (0 .. 1600) of Scrpstelement;
    type Stscrprec is
        record
            Scrpnstyles : Mac_Types.Integer;
            Scrpstyletab : Scrpsttable;
        end record;
    type Stscrpptr is access Stscrprec;
    type Stscrphandle is access Stscrpptr;

    type Nullstrec is
        record
            Tereserved : Longint;
            Nullscrap : Stscrphandle;
        end record;
    type Nullstptr is access Nullstrec;
    type Nullsthandle is access Nullstptr;
    type Array0_8000stylerun is array (0 .. 8000) of Stylerun;
    type Testylerec is
        record
            Nruns : Mac_Types.Integer;
            Nstyles : Mac_Types.Integer;
            Styletab : Sthandle;
            Lhtab : Lhhandle;
            Terefcon : Longint;
            Nullstyle : Nullsthandle;
            Runs : Array0_8000stylerun;
        end record;
    type Testyleptr is access Testylerec;
    type Testylehandle is access Testyleptr;

    type Textstyle is
        record
            Tsfont : Mac_Types.Integer;
            Tsface : Quickdraw.Style;
            Tssize : Mac_Types.Integer;
            Tscolor : Quickdraw.Rgbcolor;
        end record;

    subtype Teinthook is Mac_Types.Integer;

    procedure Teinit;
    pragma Interface (Mpwpascal, Teinit, "16#A9CC#");

    function Tenew (Destrect : Rect; Viewrect : Rect) return Tehandle;
    pragma Interface (Mpwpascal, Tenew, "16#A9D2#");

    procedure Tedispose (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tedispose, "16#A9CD#");

    procedure Tesettext (Text : Ptr; Length : Longint; Hte : Tehandle);
    pragma Interface (Mpwpascal, Tesettext, "16#A9CF#");

    function Tegettext (Hte : Tehandle) return Charshandle;
    pragma Interface (Mpwpascal, Tegettext, "16#A9CB#");

    procedure Teidle (Hte : Tehandle);
    pragma Interface (Mpwpascal, Teidle, "16#A9DA#");

    procedure Tesetselect
                 (Selstart : Longint; Selend : Longint; Hte : Tehandle);
    pragma Interface (Mpwpascal, Tesetselect, "16#A9D1#");

    procedure Teactivate (Hte : Tehandle);
    pragma Interface (Mpwpascal, Teactivate, "16#A9D8#");

    procedure Tedeactivate (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tedeactivate, "16#A9D9#");

    procedure Tekey (Key : Charword; Hte : Tehandle);
    pragma Interface (Mpwpascal, Tekey, "16#A9DC#");

    procedure Tecut (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tecut, "16#A9D6#");

    procedure Tecopy (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tecopy, "16#A9D5#");

    procedure Tepaste (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tepaste, "16#A9DB#");

    procedure Tedelete (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tedelete, "16#A9D7#");

    procedure Teinsert (Text : Ptr; Length : Longint; Hte : Tehandle);
    pragma Interface (Mpwpascal, Teinsert, "16#A9DE#");

    procedure Tesetjust (Just : Mac_Types.Integer; Hte : Tehandle);
    pragma Interface (Mpwpascal, Tesetjust, "16#A9DF#");

    procedure Teupdate (Rupdate : Rect; Hte : Tehandle);
    pragma Interface (Mpwpascal, Teupdate, "16#A9D3#");

    procedure Textbox (Text : Ptr;
                       Length : Longint;
                       Box : Rect;
                       Just : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Textbox, "16#A9CE#");

    procedure Tescroll (Dh : Mac_Types.Integer;
                        Dv : Mac_Types.Integer;
                        Hte : Tehandle);
    pragma Interface (Mpwpascal, Tescroll, "16#A9DD#");

    procedure Teselview (Hte : Tehandle);
    pragma Interface (Mpwpascal, Teselview, "16#A811#");

    procedure Tepinscroll (Dh : Mac_Types.Integer;
                           Dv : Mac_Types.Integer;
                           Hte : Tehandle);
    pragma Interface (Mpwpascal, Tepinscroll, "16#A812#");

    procedure Teautoview (Fauto : Boolean; Hte : Tehandle);
    pragma Interface (Mpwpascal, Teautoview, "16#A813#");

    function Tescraphandle return Handle;
    pragma Interface (Mpwpascal, Tescraphandle, "16#2EB8#,16#0AB4#");

    procedure Tecaltext (Hte : Tehandle);
    pragma Interface (Mpwpascal, Tecaltext, "16#A9D0#");

    function Tegetoffset (Pt : Point; Hte : Tehandle) return Mac_Types.Integer;
    pragma Interface (Mpwpascal, Tegetoffset, "16#A83C#");

    function Tegetpoint
                (Offset : Mac_Types.Integer; Hte : Tehandle) return Point;
    pragma Interface (Mpwpascal, Tegetpoint, "16#3F3C#,16#0008#,16#A83D#");

    procedure Teclick (Pt : Point; Fextend : Boolean; H : Tehandle);
    pragma Interface (Mpwpascal, Teclick, "16#A9D4#");

    function Testylnew (Destrect : Rect; Viewrect : Rect) return Tehandle;
    pragma Interface (Mpwpascal, Testylnew, "16#A83E#");

    procedure Setstylhandle (Thehandle : Testylehandle; Hte : Tehandle);
    pragma Interface (Mpwpascal, Setstylhandle, "16#3F3C#,16#0005#,16#A83D#");

    function Getstylhandle (Hte : Tehandle) return Testylehandle;
    pragma Interface (Mpwpascal, Getstylhandle, "16#3F3C#,16#0004#,16#A83D#");

    procedure Tegetstyle (Offset : Mac_Types.Integer;
                          Thestyle : in out Textstyle;
                          Lineheight : in out Mac_Types.Integer;
                          Fontascent : in out Mac_Types.Integer;
                          Hte : Tehandle);
    pragma Interface (Mpwpascal, Tegetstyle, "16#3F3C#,16#0003#,16#A83D#");

    procedure Testylpaste (Hte : Tehandle);
    pragma Interface (Mpwpascal, Testylpaste, "16#3F3C#,16#0000#,16#A83D#");

    procedure Tesetstyle (Mode : Mac_Types.Integer;
                          Newstyle : Textstyle;
                          Redraw : Boolean;
                          Hte : Tehandle);
    pragma Interface (Mpwpascal, Tesetstyle, "16#3F3C#,16#0001#,16#A83D#");

    procedure Tereplacestyle (Mode : Mac_Types.Integer;
                              Oldstyle : Textstyle;
                              Newstyle : Textstyle;
                              Redraw : Boolean;
                              Hte : Tehandle);
    pragma Interface (Mpwpascal, Tereplacestyle, "16#3F3C#,16#0002#,16#A83D#");

    function Getstylscrap (Hte : Tehandle) return Stscrphandle;
    pragma Interface (Mpwpascal, Getstylscrap, "16#3F3C#,16#0006#,16#A83D#");

    procedure Testylinsert (Text : Ptr;
                            Length : Longint;
                            Hst : Stscrphandle;
                            Hte : Tehandle);
    pragma Interface (Mpwpascal, Testylinsert, "16#3F3C#,16#0007#,16#A83D#");

    function Tegetheight
                (Endline : Longint; Startline : Longint; Hte : Tehandle)
                return Longint;
    pragma Interface (Mpwpascal, Tegetheight, "16#3F3C#,16#0009#,16#A83D#");

    function Tecontinuousstyle
                (Mode : Varinteger; Astyle : Textstyle; Hte : Tehandle)
                return Boolean;
    pragma Interface (Mpwpascal, Tecontinuousstyle,
                      "16#3F3C#,16#000A#,16#A83D#");

    procedure Setstylscrap (Rangestart : Longint;
                            Rangeend : Longint;
                            Newstyles : Stscrphandle;
                            Redraw : Boolean;
                            Hte : Tehandle);
    pragma Interface (Mpwpascal, Setstylscrap, "16#3F3C#,16#000B#,16#A83D#");

    procedure Tecustomhook
                 (Which : Teinthook; Addr : in out Procptr; Hte : Tehandle);
    pragma Interface (Mpwpascal, Tecustomhook, "16#3F3C#,16#000C#,16#A83D#");

    function Tenumstyles
                (Rangestart : Longint; Rangeend : Longint; Hte : Tehandle)
                return Longint;
    pragma Interface (Mpwpascal, Tenumstyles, "16#3F3C#,16#000D#,16#A83D#");

    function Tegetscraplen return Longint;
    pragma Interface (Mpwpascal, Tegetscraplen, "TEGETSCRAPLEN");

    procedure Tesetscraplen (Length : Longint);
    pragma Interface (Mpwpascal, Tesetscraplen, "TESETSCRAPLEN");

    function Tefromscrap return Oserr;
    pragma Interface (Mpwpascal, Tefromscrap, "TEFROMSCRAP");

    function Tetoscrap return Oserr;
    pragma Interface (Mpwpascal, Tetoscrap, "TETOSCRAP");

    procedure Setclikloop (Clikproc : Procptr; Hte : Tehandle);
    pragma Interface (Mpwpascal, Setclikloop, "SETCLIKLOOP");

    procedure Setwordbreak (Wbrkproc : Procptr; Hte : Tehandle);
    pragma Interface (Mpwpascal, Setwordbreak, "SETWORDBREAK");

-- TEHook ProcPtr user routine "glue" not implemented.

    generic
        with function Routine return Boolean;
    procedure Userclickroutine;

    generic
        with function Routine (Text : Ptr; Charpos : Mac_Types.Integer)
                              return Boolean;
    procedure Userwordroutine;

end Textedit;


E3 Meta Data

    nblk1=d
    nid=0
    hdr6=1a
        [0x00] rec0=21 rec1=00 rec2=01 rec3=046
        [0x01] rec0=1a rec1=00 rec2=02 rec3=01c
        [0x02] rec0=20 rec1=00 rec2=03 rec3=022
        [0x03] rec0=1e rec1=00 rec2=04 rec3=000
        [0x04] rec0=1f rec1=00 rec2=05 rec3=03c
        [0x05] rec0=1a rec1=00 rec2=06 rec3=050
        [0x06] rec0=1b rec1=00 rec2=07 rec3=038
        [0x07] rec0=19 rec1=00 rec2=08 rec3=05e
        [0x08] rec0=14 rec1=00 rec2=09 rec3=042
        [0x09] rec0=16 rec1=00 rec2=0a rec3=030
        [0x0a] rec0=17 rec1=00 rec2=0b rec3=00c
        [0x0b] rec0=18 rec1=00 rec2=0c rec3=040
        [0x0c] rec0=11 rec1=00 rec2=0d rec3=001
    tail 0x2151d44fa83906e521003 0x42a00088462060003