SVGFileDC DrawEllipticArc is buggy

4 views
Skip to first unread message

ABC

unread,
Mar 19, 2019, 8:00:58 PM3/19/19
to wxPython-dev
DrawEllipticArc is wrong with SVGFileDC:

- Lines are drawn to arc ends.
"Notice that unlike DrawArc , this function does not draw the lines to the arc ends, even when using non-transparent brush."

- Incorrect drawing with and without fill depends on start/end angle.

- End point is 1 pixel too far.
Observe the SVG output, where some horizontal and vertical black lines are overlapped by the ellipses, while in the on screen drawing they are not.

Enclosed program draws to an SVG file (svg_ellipticarc.svg) and on screen.
svg_ellipticarc.py
svg_ellipticarc.svg
screen_elliptiarc.png

Robin Dunn

unread,
Mar 19, 2019, 8:56:38 PM3/19/19
to wxPython-dev
This and your other SVGFileDC issues are wxWidgets problems, not wxPython-specific. Please create tickets for them, if they are not already there at https://trac.wxwidgets.org/

--
Robin

ABC

unread,
Mar 20, 2019, 11:34:46 AM3/20/19
to wxPython-dev
Thanks Robin. I checked. In 2016, SVGFileDC was thoroughly fixed in wx.Widgets (drawing lines, arcs, text, the whole thing...).
The version of wxPython that I'm using reports itself with wx.version() to be
"4.0.3 msw (phoenix) wxWidgets 3.0.5".

Can someone confirm whether they also see these issues with their wxPython 4?

Robin Dunn

unread,
Mar 20, 2019, 1:09:33 PM3/20/19
to wxPython-dev
On Wednesday, March 20, 2019 at 8:34:46 AM UTC-7, ABC wrote:
Thanks Robin. I checked. In 2016, SVGFileDC was thoroughly fixed in wx.Widgets (drawing lines, arcs, text, the whole thing...).
The version of wxPython that I'm using reports itself with wx.version() to be
"4.0.3 msw (phoenix) wxWidgets 3.0.5".


It looks like those changes were not backported to the WX_3_0_BRANCH, so they are not included in wxPython 4.0.x. wxPython 4.1 (in progress now) will be using wxWidgets' 3.1.x series and so those changes will be included then.

--
Robin


Scott Talbert

unread,
Mar 20, 2019, 1:25:48 PM3/20/19
to wxPython-dev
Alternatively, you could also request that they be backported to wxWidgets
3.0.x, assuming Robin ever plans another 4.0.x release.

Scott

Nitzan Weinberg

unread,
Mar 20, 2019, 1:55:16 PM3/20/19
to wxPyth...@googlegroups.com
Thanks for confirming these issues!
Robin, do you plan on another 4.0.x, or will 4.1 be the next one - and
roughly when?
> --
> You received this message because you are subscribed to a topic in the Google Groups "wxPython-dev" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/wxPython-dev/PVjF65BTLTM/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to wxPython-dev...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Robin Dunn

unread,
Mar 20, 2019, 9:55:37 PM3/20/19
to wxPython-dev
On Wednesday, March 20, 2019 at 10:55:16 AM UTC-7, ABC wrote:
Thanks for confirming these issues!
Robin, do you plan on another 4.0.x, or will 4.1 be the next one - and
roughly when?


There have been a few fixes in the 4.0 branch, so there probably will be a 4.0.5. I've been busy with several other things lately and haven't had a lot of time for working on the project, so the timeline for either release is unknown at the moment.

--
Robin

ABC

unread,
Mar 21, 2019, 12:15:45 PM3/21/19
to wxPython-dev
Robin, I understand the constraints on your time, and I appreciate your support for wxPython.
Is there any way to bring wxWidget's fixes to SVG into the 4.0.5 release?

Scott Talbert

unread,
Mar 21, 2019, 12:20:28 PM3/21/19
to wxPython-dev
You will need to submit a TRAC ticket[1] to request them to be backported,
or write to one of the wxWidgets mailing lists.

[1] https://trac.wxwidgets.org/

Scott

ABC

unread,
Mar 22, 2019, 12:30:29 PM3/22/19
to wxPython-dev
I updated my wxPython to 4.0.4, and get this version message:
4.0.4 msw (phoenix) wxWidgets 3.0.5

The latest wxWidgets version in the 3.0 branch, that I can find, is 3.0.4, and not 3.0.5.

A major wxWidgets update to SVG was done with the following submission:
https://github.com/wxWidgets/wxWidgets/pull/215, seems like into version 3.1.1 .

Do I need to ask for back-port from 3.1.1 into 3.0.4?

Scott Talbert

unread,
Mar 22, 2019, 12:56:23 PM3/22/19
to wxPython-dev
There are two main branches of wxWidgets:
3.0.x (git branch = WX_3_0_BRANCH) - this is the "stable" release branch.
3.1.x (git branch = master) - this is the "development" release branch.

The latest release of the 3.0.x branch is 3.0.4, but wxPython pulls in
directly from the WX_3_0_BRANCH and not from 3.0.x releases. That's why
wxPython reports 3.0.5, since it is pulling from the head of the
WX_3_0_BRANCH.

You need to request the updates be backported from master to
WX_3_0_BRANCH. Note that it may not be possible to backport those changes
if they involved ABI changes.

Scott

ABC

unread,
Apr 8, 2019, 8:39:06 PM4/8/19
to wxPython-dev

The maintainer of the SVG functionality back-ported his bug fixes to wxWidgets:WX_3_0_BRANCH .


I hope these will be picked up by wxPython's next release.
Thanks for your advice.

ABC

unread,
May 24, 2019, 5:01:48 PM5/24/19
to wxPython-dev
Release 4.0.6 seems to have resolved these issues.
Reply all
Reply to author
Forward
0 new messages