diff --git a/Sieve/Sieve_VisB.mch b/Sieve/Sieve_VisB.mch index 30f001a6340cae2265df1cd3cc9160dbdd411ac0..fc09f30f97634e880dfb3018914dda085423c7ed 100644 --- a/Sieve/Sieve_VisB.mch +++ b/Sieve/Sieve_VisB.mch @@ -5,23 +5,36 @@ DEFINITIONS SET_PREF_MININT == -1; MINLIM == MAXINT-1; GOAL == (cur=1 & numbers /= {}); - VISB_SVG_FILE == ""; + VISB_JSON_FILE == ""; VISB_SVG_BOX == rec(height:220, width:220, viewBox:"0 0 220 220"); vsz == 20; + "LibrarySVG.def"; "CHOOSE.def"; + VISB_SVG_CONTENTS == ''' + <style> + .tl-dps { + stroke : red; + stroke-linecap: butt; + opacity : 0.8 + } + </style> +'''; + VISB_SVG_OBJECTS3 == rec(`id`:"line", svg_class:"line", class:MU({"tl-dps"}), + title : ```Track Line ```, visibility:MU({"visible"}), + `stroke-dasharray`:svg_set_dasharray({1,3,4,5,6,7,8,9,10,50,51}), //```0 0 3 10000```, + x1:0,y1:210, x2:220,y2:210); VISB_SVG_OBJECTS2 == {x,y•x:0..9 & y:0..9 | rec(`id`:("nr",x,y), svg_class:"text", x:vsz+x*vsz, y:vsz+y*vsz, `font-size`:10, text:x+y*10)}; VISB_SVG_OBJECTS1 == {x,y•x:0..9 & y:0..9 | rec(`id`:("rec",x,y), svg_class:"rect", x:15+x*vsz, y:5+y*vsz, - stroke:"green", `stroke-width`:1.5,fill:"white", - width:vsz-1, height:vsz-1)}; - VISB_SVG_UPDATES2 == {x,y•x:0..9 & y:0..9 | rec(`id`:("rec",x,y), - stroke:IF x+y*10=cur THEN "red" + `stroke-width`:1.5, + width:vsz-1, height:vsz-1, + stroke:IF x+y*10=cur THEN "red" ELSIF x+y*10:numbers THEN "green" ELSE "gray" END, - fill: IF x+y*10:numbers THEN "white" ELSE "gray" END)}; + fill: IF x+y*10:numbers THEN "white" ELSE "lightgray" END)}; VARIABLES numbers,cur, limit INVARIANT - numbers <: INTEGER & cur:NATURAL1 & limit:NATURAL1 + numbers <: INTEGER & cur:NATURAL1 & limit:NATURAL1 INITIALISATION numbers := {} || cur := 1 || limit := 1 OPERATIONS StartSieve(lim) = PRE cur=1 & lim>MINLIM & lim <= MAXINT THEN