Every now and then people have asked whether they can draw patterned lines in LB, rather than the continuous ones that are built in. The answer is yes, if you take charge of drawing your choice of symbols along the known path, as in these examples..
-
The following code shows how this can be done- you can select spacing, colour and size of the 'marks'.
nomainwin WindowWidth =800: WindowHeight =600 open "Dot & dashed lines" for graphics_nsb as #w #w "trapclose quit" #w "size 8; color red" #w "goto 400 300 ; size 2 ; down ; circle 250" for th =0 to 350 step 10 cx =400 +250 *cos( th *3.14159265 /180) cy =300 +250 *sin( th *3.14159265 /180) call dottedLine 400, 300, cx, cy next th #w "flush" scan wait sub dottedLine x1, y1, x2, y2 ' need atn2 and cos/sin here? dx =x2 -x1 dy =y2 -y1 L =int( ( dx^2 +dy^2)^0.5) th =atan2( dy, dx) count =0 for radius =0 to L step 8 count =( count +1) mod 4 if count =0 then #w "color red ; size 4" else #w "color 50 50 200 ; size 2" s0 =x1 + radius /L *dx t0 =y1 + radius /L *dy s1 =x1 +( radius +1) /L *dx t1 =y1 +( radius +1) /L *dy #w "line "; s0; " "; t0; " "; s1; " "; t1 next radius end sub function atan2( y, x) pi =atn( 1) *4 if x <>0 then arctan = atn( y /x) select case case x >0 atan2 =arctan case y >=0 and x <0 atan2 =pi +arctan case y <0 and x <0 atan2 =arctan -pi case y >0 and x =0 atan2 =pi /2 case y <0 and x =0 atan2 =pi /-2 end select end function sub quit h$ close #w end end sub