<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>You could use a Form to draw the arc/circle to get nice antialiasing, and then transfer it onto the canvas.</p>
<p>Here is an example:</p>
<p>-----------------------------------------------------------------------------------------------------------------------------</p>
<p></p>
<div>| circle painter canvas |</div>
<div><br>
</div>
<div>circle := [ :radius :lineWidth |</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>| form halfR aaw color center |</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>aaw := 1.3.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>color := Color white.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>halfR := radius / 2.0.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>center := halfR asPoint.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>form := Form extent: radius asPoint depth: 32.<span class="Apple-tab-span" style="white-space:pre">
</span></div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>0 to: radius - 1 do: [ :y | </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>0 to: radius - 1 do: [ :x | | l rp |</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>rp := (x @ y) distanceTo: center.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>l := rp + aaw > halfR </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>ifTrue: [ (halfR - rp min: aaw max: 0.0) / aaw ] </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>ifFalse: [ (rp - halfR + lineWidth min: aaw max: 0.0) / aaw ].</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span></div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>form colorAt: x @ y put: (color alpha: l)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>]</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>].</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span></div>
<div>form </div>
<div>].</div>
<div><br>
</div>
<div>painter := [ :form :color | | output bitBlt |</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>output := Form extent: form extent depth: 32.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>bitBlt := BitBlt toForm: output.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>output fillColor: color.<span class="Apple-tab-span" style="white-space:pre">
</span></div>
<div><span class="Apple-tab-span" style="white-space:pre"></span></div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>bitBlt sourceForm: form;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>combinationRule: 37;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>sourceRect: form boundingBox;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>copyBits.</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span></div>
<div>output</div>
<div>].</div>
<div><br>
</div>
<div>"====================================="</div>
<div>canvas := FormCanvas extent: 200@200.</div>
<div>World fullDrawOn: canvas.</div>
<div><br>
</div>
<div>canvas </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>translucentImage: (painter value: (circle value: 50 value: 10) value: Color orange) at: 20@20;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>translucentImage: (painter value: (circle value: 60 value: 15) value: Color purple) at: 90@20;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>fillRectangle: (40@45 extent: 12@12) color: Color green;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>fillRectangle: (110@55 extent: 12@12) color: Color blue;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>fillRectangle: (77@75 extent: 16@21) color: Color brown;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>translucentImage: (painter value: (circle value: 100 value: 7) value: Color red) </div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>at: 30@95 sourceRect: (0@60 extent: 100 @ 40).</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span> </div>
<div>canvas form inspect</div>
<div>--------------------------------------------------------------------------------------------------------------------</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Henrik</div>
<p></p>
<p> </p>
</div>
</body>
</html>