|
|
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 - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Gr_004, seg_005529
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦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_004 is
List : X_Rectangle_List;
procedure Generate_List (Dpy : X_Display;
Width : S_Short;
Height : S_Short) is
Count : S_Long := Dpy.Poly_Rectangle_Limit;
begin
List := new X_Rectangle_Array (1 .. Count);
for I in 1 .. Count loop
List (I).X := Random_X (Width);
List (I).Y := Random_Y (Height - 15) + 15;
List (I).Width := Random_W (100);
List (I).Height := Random_H (100);
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;
begin
for I in List'Range loop
X_Draw_Rectangle (Dpy, Window.Drawable, Gc, List (I).X,
List (I).Y, List (I).Width, List (I).Height);
Flush := Flush + 1;
if Flush >= Per_Message then
X_Flush (Dpy);
Flush := 0;
end if;
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_Rectangle_List then
Generate_List (Dpy, Width, Height);
end if;
case State is
when 1 =>
X_Draw_Rectangles (Dpy, Window.Drawable, Gc,
List (List'First .. List'First +
List'Length / 2 - 1));
when 2 =>
X_Draw_Rectangles (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_Rectangle_List (List);
State := 0;
end case;
end Do_Graphics;
procedure Test is new Gr_State_Test (Do_Graphics);
begin
Test;
end Gr_004;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=2a rec1=00 rec2=01 rec3=050
[0x01] rec0=01 rec1=00 rec2=05 rec3=004
[0x02] rec0=1a rec1=00 rec2=02 rec3=014
[0x03] rec0=17 rec1=00 rec2=03 rec3=01e
[0x04] rec0=09 rec1=00 rec2=04 rec3=000
tail 0x21700983081978b74a92e 0x42a00088462063203