|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Gr_003, seg_005523
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Gr_Random; use Gr_Random; with Gr_State_Test; with Test_Io; use Test_Io; with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_Basic; use Xlbt_Basic; with Xlbt_Font; use Xlbt_Font; with Xlbt_Graphics; use Xlbt_Graphics; with Xlbp_Event; use Xlbp_Event; with Xlbp_Graphics; use Xlbp_Graphics; procedure Gr_003 is List : X_Segment_List; procedure Generate_List (Dpy : X_Display; Width : S_Short; Height : S_Short) is Count : S_Long := Dpy.Poly_Segment_Limit; begin List := new X_Segment_Array (1 .. Count); for I in 1 .. Count loop List (I).X1 := Random_X (Width); List (I).Y1 := Random_Y (Height - 15) + 15; List (I).X2 := Random_X (Width); List (I).Y2 := Random_Y (Height - 15) + 15; end loop; end Generate_List; procedure Draw (Dpy : X_Display; Window : X_Window; Gc : X_Gc; Font : X_Font_Struct; Width : S_Short; Height : S_Short; Per_Message : S_Natural) is Flush : S_Natural := 0; I : S_Natural; J : S_Natural; begin I := List'First; while I < List'Last loop if List'Last - I + 1 >= Per_Message then J := I + Per_Message - 1; else J := List'Last; end if; X_Draw_Segments (Dpy, Window.Drawable, Gc, List (I .. J)); Flush := Flush + 1; if Flush >= Per_Message then X_Flush (Dpy); Flush := 0; end if; I := J + 1; end loop; end Draw; procedure Do_Graphics (Dpy : X_Display; State : in out Natural; Window : X_Window; Gc : X_Gc; Font : X_Font_Struct; Width : S_Short; Height : S_Short) is begin if List = None_X_Segment_List then Generate_List (Dpy, Width, Height); end if; case State is when 1 => X_Draw_Segments (Dpy, Window.Drawable, Gc, List (List'First .. List'First + List'Length / 2 - 1)); when 2 => X_Draw_Segments (Dpy, Window.Drawable, Gc, List.all); when 3 => Draw (Dpy, Window, Gc, Font, Width, Height, 1); when 4 => Draw (Dpy, Window, Gc, Font, Width, Height, 5); when 5 => Draw (Dpy, Window, Gc, Font, Width, Height, S_Natural'Last); when others => Free_X_Segment_List (List); State := 0; end case; end Do_Graphics; procedure Test is new Gr_State_Test (Do_Graphics); begin Test; end Gr_003;
nblk1=5 nid=0 hdr6=a [0x00] rec0=2a rec1=00 rec2=01 rec3=05c [0x01] rec0=1f rec1=00 rec2=02 rec3=034 [0x02] rec0=00 rec1=00 rec2=05 rec3=010 [0x03] rec0=16 rec1=00 rec2=03 rec3=036 [0x04] rec0=0e rec1=00 rec2=04 rec3=000 tail 0x21500a20681978b6e88b7 0x42a00088462063203