← Back to team overview

kicad-developers team mailing list archive

Re: antialiased graphics


On Sun, 4 Jan 2009, Dick Hollenbeck wrote:

I am excited about wxGraphicsContext class. I am not excited about the
wxGCDC class. I am not sure I understand the thinking behind wxGCDC.
It only exposes the wxDC API, which is not as rich as the
wxGraphicsContext API.

I think main use of wxGCDC is just adding antialiasing support for old wxDC code. Maybe it is planned to depreciate wxDC interface some day too.

Without using wxGCDC, at any point in newly written code, a call can be
made to

wxGraphicsContext* Create(const wxWindowDC& dc)

as part of the window's drawing function.

Then the returned wxGraphicsContext* can be used to draw into the
wxWindow correct?

I'm wrong guy to give a definitive answer to that... I just wanted to point you more knowledgeable to possibly useful tools ;) See, C++ is somewhat awkward to me yet.

The path support brings irregular border capability to filled areas and
is a richer base to build on. However, it relies on "double" not
"int" parameters.

Path support was my main reason to give wxGC a push. Only thing that is somewhat doubtful is how fine grained control of antialising it allows. Some lines would need to be kept pixel wide on zoom out and some let fade to the sub pixel range. Gschem cairo_experiment head is a good example, but it uses cairo directly. WxGC's real font support is nice one. Full unicode with complex characters (chinese, etc.) too. My impression is that as double has 53 bits of precision it will work as well as 32b integer system. Naturally there is increase of memory use and some slowing down of calculations.

I am not excited about the patch. I would get excited about using the
wxGraphicsContext class after the February release.

It is not clear to me why the refresh is not working. But this is a
major new study that could probably be put off until after the release.

I'm not too exited neither as it has no future. It was just meant to show how nice antialiasing would be. For February release I would like to see fixed thermal stubs and finnish translation. Graphics update will need some more time for testing and possbly redesign for glyph cache support.