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

⟦38245ffaa⟧ Ada Source

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

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_Hint;  
use Xlbt_Hint;  
with Xlbt_Image;  
use Xlbt_Image;  
with Xlbt_String;  
use Xlbt_String;

package Main is
------------------------------------------------------------------------------
-- Dragon - a version of Mah-Jongg for X Windows
--
-- Author: Gary E. Barnes        March 1989
--
-- Main - Used by all modules.
------------------------------------------------------------------------------
-- 05/30/90 GEB  - Translate to Ada
------------------------------------------------------------------------------

--\x0c
    Quit    : exception; -- Used for normal termination.
    Abandon : exception; -- Used for abnormal termination.

------------------------------------------------------------------------------
-- Dragon Resources
------------------------------------------------------------------------------

    type Dragon_Resources_Rec is  
        record  
            Foreground    : X_Pixel;          -- Default foreground color
            Background    : X_Pixel;          -- Default background color
            Cursor        : X_Cursor;         -- Name of cursor to use
            Debug         : Boolean;          -- Debug printouts
            Double_Click  : X_Time;           -- Time (ms) between clicks
            Geometry      : X_String_Pointer; -- Geometry for the board
            Icon_Geometry : X_String_Pointer; -- Geometry for our icon
            Iconic        : Boolean;          -- Do we start as an icon?
            Icon_Name     : X_String_Pointer; -- Name for the icon
            Reverse_Video : Boolean;          -- Do all in reverse?
            Sticky_Tile   : Boolean;          -- Is first tile sticky?
            Tile_Shadows  : Boolean;          -- Want shadows?
            Tile_Sides    : X_String_Pointer; -- What side type?
        end record;  
    type Display_State is (S_Play, S_Sample);

    Board_State : Display_State := S_Play;

    Dragon_Resources : Dragon_Resources_Rec;-- Application resources

    Dpy    : X_Display;                     -- The display connection
    Dragon : X_Window;                      -- The top level window
    Board  : X_Window;                      -- Our main drawable

    Tile_Control : S_Long;                  -- Control bits

    Shadow    : constant S_Long := Shift (1, 0);  
    Blackside : constant S_Long := Shift (1, 1);  
    Grayside  : constant S_Long := Shift (1, 2);

    Gray_Gc    : X_Gc;      -- fg=blk, bg=wht, fcn=copy
    Normal_Gc  : X_Gc;      -- fg=blk, bg=wht, fcn=copy
    Over_Gc    : X_Gc;      -- fg=blk, bg=wht, fcn=or
    Reverse_Gc : X_Gc;      -- fg=wht, bg=blk, fcn=copy
    Xor_Gc     : X_Gc;      -- fg=blk, bg=wht, fcn=xor

    procedure Set_Size_Hints (Hints : in out X_Size_Hints;  
                              Geom  :        X_String);
------------------------------------------------------------------------------
--  Hints   - Receives the X/Y/Width/Height values from the Geometry string
--  Geom    - Specifies the string specified by the user for the geometry
--
-- Parses the geometry string (if any) and takes care of setting the X/Y and
-- the Width/Height fields in the Hints structure.
------------------------------------------------------------------------------

    procedure Main (Display : X_String);
------------------------------------------------------------------------------
-- Our Main-Line Code.
------------------------------------------------------------------------------

end Main;  

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=21 rec1=00 rec2=01 rec3=006
        [0x01] rec0=0f rec1=00 rec2=05 rec3=056
        [0x02] rec0=02 rec1=00 rec2=02 rec3=04e
        [0x03] rec0=17 rec1=00 rec2=03 rec3=00a
        [0x04] rec0=0d rec1=00 rec2=04 rec3=000
    tail 0x2170088dc819787870b36 0x42a00088462063203