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: 4295 (0x10c7) Types: TextFile Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦306851c02⟧ └─⟦this⟧
separate (Puz_Main) procedure Repaint_Title (Method : Title_Method) is Twidth : S_Long; Theight : S_Long; Box_X : S_Long; Box_Y : S_Long; I : S_Long; J : S_Long; Start_Color : S_Natural; Color2 : S_Natural; Tiny_Box_Size : S_Long; Tx : S_Long; Ty : S_Long; begin ----applications painting their own title is out of style, -- so don't just leave it there; Tiny_Box_Size := 5; Twidth := Puzzle_Win_Info.Width * 3 / 4; Tx := (Puzzle_Win_Info.Width - Twidth) / 2; Text_X_Start := Tx; if Method = Title_Text then Twidth := S_Long (X_Text_Width (Title_Font_Info, "Puzzle")); Theight := S_Long (Title_Font_Info.Ascent + Title_Font_Info.Descent); Tx := (Puzzle_Win_Info.Width - Twidth) / 2; Ty := S_Long ((Title_Win_Height - Theight) / 2 + S_Long (Title_Font_Info.Ascent)); X_Set_Font (Dpy, Gc, Title_Font_Info.Font_Id); X_Draw_String (Dpy, Title_Window.Drawable, Gc, S_Short (Tx), S_Short (Ty), "Puzzle"); X_Flush (Dpy); elsif Method = Title_Tiles then Start_Color := 0; I := 0; while I < Title_Win_Height loop Color2 := Start_Color; J := 0; while J < Twidth loop Rect_Set (Title_Window, J + Text_X_Start, I, Tiny_Box_Size, Tiny_Box_Size, X_Pixel (Color2 rem 2)); J := J + Tiny_Box_Size; Color2 := Color2 + 1; end loop; I := I + Tiny_Box_Size; Start_Color := Start_Color + 1; end loop; else -- method = TITLE_ANIMATED declare Tiles_High : S_Long := (Title_Win_Height + Tiny_Box_Size - 1) / Tiny_Box_Size; Tiles_Wide : S_Long := (Twidth + Tiny_Box_Size - 1) / Tiny_Box_Size; Num_Tiles : S_Long := Tiles_High * Tiles_Wide; Color_Val : X_Pixel_Array (0 .. S_Natural (Num_Tiles) - 1); Xloc : S_Short_Array (0 .. S_Natural (Num_Tiles) - 1); Yloc : S_Short_Array (0 .. S_Natural (Num_Tiles) - 1); Permute : U_Short_Array (0 .. S_Natural (Num_Tiles) - 1); Tmp : S_Long; Swap_With : S_Natural; Counter : S_Natural; begin for I in 0 .. Num_Tiles - 1 loop Permute (S_Natural (I)) := U_Short (I); end loop; for I in reverse 2 .. Num_Tiles - 1 loop Swap_With := Random rem S_Natural (I); Tmp := S_Long (Permute (Swap_With)); Permute (Swap_With) := Permute (S_Natural (I)); Permute (S_Natural (I)) := U_Short (Tmp); end loop; Counter := 0; Start_Color := 0; I := 0; while I < Title_Win_Height loop Color2 := Start_Color; J := 0; while J < Twidth loop Color_Val (Counter) := X_Pixel (Color2 rem 2); Xloc (Counter) := S_Short (J + Text_X_Start); Yloc (Counter) := S_Short (I); Counter := Counter + 1; J := J + Tiny_Box_Size; Color2 := Color2 + 1; end loop; I := I + Tiny_Box_Size; Start_Color := Start_Color + 1; end loop; for I in 0 .. Num_Tiles - 1 loop J := S_Long (Permute (S_Natural (I))); Rect_Set (Title_Window, S_Long (Xloc (S_Natural (J))), S_Long (Yloc (S_Natural (J))), Tiny_Box_Size, Tiny_Box_Size, Color_Val (S_Natural (J))); X_Flush (Dpy); end loop; end; end if; end Repaint_Title;