That worked, thank you so much! This helps me get running in the interim while i investigate how to use Athens.
{ jb } On Apr 6, 2018, 9:31 AM -0400, Nicolai Hess <nicolaih...@gmail.com>, wrote: > Hi Joe, > > the problem is that the BalloonCanvas (or some objects it is using) aren't > fully reset after some drawing operations. > (the drawString method for example sets the sourceForm as glyph to be drawn). > > it should work if you do not store the canvas instance, but create a new in > every loop: > > points do: [ :p | > > canvas := form getCanvas asBalloonCanvas aaLevel:4; yourself. > > canvas drawPolygon: p > color: Color transparent > borderWidth: 1 > borderColor: Color red. > > canvas drawString: p first asString > at: p first > font: nil > color: Color green. > ]. > > > > > Or just reset the engine state (but I don't like this solution, the engine > state should be private to the canvas). > > points do: [ :p | > > canvas drawPolygon: p > color: Color transparent > borderWidth: 1 > borderColor: Color red. > > canvas drawString: p first asString > at: p first > font: nil > color: Color green. > canvas resetEngine. > ]. > > > > > > > 2018-04-06 2:57 GMT+02:00 <j...@boremaj.net>: > > > Hello everyone! > > > > > > Im trying use the balloon canvas to draw some nice smooth anti aliased > > > lines, but now i seem to have hit upon a bug which i dont know how to fix. > > > > > > if i draw just lines i get everything i want. but if i add a > > > “drawString:…” in there at any point, all the lines i try to draw > > > subsequently dont show up. > > > > > > Here is code that shows the exact issue: > > > > > > > form := Form extent: 100@100 depth: 32. > > > > form fillWhite. > > > > canvas := BalloonCanvas on: form. > > > > canvas aaLevel: 4. > > > > "canvas := FormCanvas on: form." > > > > points := { {10@10 . 50@43} . {50@42 . 90@75} . {90@75 . 50@90 } }. > > > > > > > > points do: [ :p | > > > > canvas drawPolygon: p > > > > color: Color transparent > > > > borderWidth: 1 > > > > borderColor: Color red. > > > > > > > > canvas drawString: p first asString > > > > at: p first > > > > font: nil > > > > color: Color green. > > > > ]. > > > > > > > > morph := ImageMorph new. > > > > morph image: form. > > > > morph openCenteredInWorld. > > > > > > > > > if i comment out the canvas drawstring i get what you would expect: a > > > squiggly line. > > > > > > if i add in the drawstring, the first line shows up but all the > > > subsequent lines do not get drawn. (both images attached) > > > > > > I spent a bunch of time tracking it down to its most purest form and then > > > a bunch of time debugging it and im out of my depth with the baloon code, > > > i cant seem to figure out whats wrong. if anyone knows whats wrong or > > > can give me a clue on how to fix it i’d greatly appreciate it. > > > > > > thanks in advance. > > > > > > > > > { jb } >