Cairo Deimos bindings

James Miller james at aatch.net
Thu Apr 26 15:32:01 PDT 2012


On Thursday, 26 April 2012 at 18:20:01 UTC, David Nadlinger wrote:
> On Thursday, 26 April 2012 at 18:15:49 UTC, Andrej Mitrovic 
> wrote:
>> Is there really a need to write it manually? All I had to do 
>> to use
>> the C library directly is call HTOD on the headers. Otherwise 
>> I use
>> CairoD.
>
> I'd say that usable htod generated headers still are a welcome 
> addition to Deimos.
>
> David

On top of that htod doesn't work on linux AFAIK. Also there are 
alot of header files missing from that, probably due to people 
not realising that not all installations install all the headers.

I have the headers for the following surfaces: beos, cogl, 
directfb, drm, gl, os2, pdf, ps, qt, quartz, quartz-image, 
script, skia, svg, tee, vg, wind32, xcb, xlib and xml. There are 
also the extra headers like the core cairo, gobject support, 
hardware-specific definitions and so on.

I am also slightly altering some of the code (in a 
well-documented manner) to reflect the difference between the 
usage of similar constructs in C. So, un-namespacing enums 
because you access the values as TypeName.Member, rather than 
just Member, as in C. Also replacing ifdef blocks with 
conditional compilation so I can replicate, in D, similar error 
messages to the C headers. There is alot that is difficult to do 
with automated tools, and it would be nice if this was properly 
complete, I plan on actually writing a proper install for this so 
your installed D bindings reflect the available C functions.

--
James Miller


More information about the Digitalmars-d mailing list