MODULE ShapeTest; IMPORT PS, Rect, Line; PRIVATE CONST Cnt = 500; PRIVATE PROC DrawRect(a, b) IS Rect.Draw(a, b); PS.Stroke() END; PRIVATE PROC DrawLine(a, b) IS Line.Draw(a, b); PS.Stroke() END; PROC DrawRects(a, b) IS IF VAR x ~ b, c IN (a, b) CONG (a, x) AND a HOR x AND c = Cnt -> DO 0 <= c -> VAR p = (COS(c), SIN(c)) REL (a, x) IN DrawRect(a, p); c := c - 1 END OD END FI END; UI PointTool(DrawRects); PROC DrawLines(a, b) IS IF VAR x ~ b, c IN (a, b) CONG (a, x) AND a HOR x AND c = Cnt -> DO 0 <= c -> VAR p = (COS(c), SIN(c)) REL (a, x) IN DrawLine(a, p); c := c - 1 END OD END FI END; UI PointTool(DrawLines); PROC RectTest() IS VAR a = R2.Origin, b ~ (124.968, 139.33727) IN DrawRects(a, b) END END; UI Template(RectTest); PROC LineTest() IS VAR a = R2.Origin, b ~ (124.968, 139.33727) IN DrawLines(a, b) END END; UI Template(LineTest); PROC Cmd0() IS VAR a = R2.Origin, b ~ (124.968, 139.33727) IN DrawLines(a, b) END END;