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 - 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_007 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_Fill_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_Fill_Rectangles (Dpy, Window.Drawable, Gc, List (List'First .. List'First + List'Length / 2 - 1)); when 2 => X_Fill_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_007;