[mcclim-devel] Patch for CLX backend `medium-draw-ellipse*'-bug

Troels Henriksen athas at sigkill.dk
Sun Mar 12 21:34:54 UTC 2006


This email relates to the bug described in:
http://common-lisp.net/pipermail/mcclim-devel/2005-December/004334.html

I believe I have located the bug in Backends/CLX/medium.lisp, in the
method `medium-draw-ellipse*'. Basically, the method assumes that if
`end-angle' is negative, it will be necessary to add 2pi radians to
the arc angle to make sure the arc will be drawn counter-clockwise (as
the CLIM spec specifies), but this is not the case if start-angle is
negative or 0 as well.

The attached patch fixes this issue, but it does not make McCLIM do as
the bug reporter expects. The arc is vertically mirrored with respect
to the expected location, but as far as I can see from the spec, this
is actually where it should be placed, due to the negative scale-y
argument to `with-scaling' - could this be a bug in the LispWorks
implementation? In any case, erroneous positioning of the arc is
probably not related to to the function I have patched, so it should
be safe to commit.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: medium.lisp.diff
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20060312/063f3b2f/attachment.ksh>
-------------- next part --------------

-- 
\  Troels "Athas" Henriksen
/\ - Insert witty signature


More information about the mcclim-devel mailing list