[Haskell-cafe] Re: Why binding to existing widget toolkits doesn't make any sense

Antony Courtney antony.courtney at gmail.com
Fri Jan 30 16:11:36 EST 2009

On Fri, Jan 30, 2009 at 3:50 PM, Achim Schneider <barsoap at web.de> wrote:
> Antony Courtney <antony.courtney at gmail.com> wrote:
>> One issue I think you may encounter, though, is that last time I
>> looked, there was still no high-quality, widely available
>> cross-platform 2-D vector graphics library in C or C++! [...]
> Xrender. It appears to map exceptionally well onto FP, is available
> everywhere X is available (that includes Windoze and OS X) and usually
> is heavily hardware-accelerated. Additionally, we already have a pure
> Haskell implementation of the client-side protocol included in XHB.

According to Wikipedia:

            The X Rendering Extension (Render or XRender) is an X Window System
            extension to implement Porter-Duff image compositing in
the X server.

Porter-Duff image compositing is cool and useful, but it's at a much
lower level than what I meant by 2-D vector graphics library.

A 2-D vector graphics library such as Java2D ( or Quartz on OS/X or
GDI+ on Windows ) supports things like computing tight bounding
rectangles for arbitrary shapes, hit testing for determining whether a
point is inside or outside a shape and constructive area geometry for
shape compositing and clipping without dropping down to a raster
representation.  Pretty clear how to build a 2-D Scenegraph library
like Piccolo on top of Java2D or Quartz or GDI+; much less clear to me
how to build something like that directly on top of XRender.


More information about the Haskell-Cafe mailing list