|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 2971 (0xb9b)
Types: TextFile
Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦49e7f20b9⟧
└─⟦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;