[cairo] Cairo and ISO C++

Maximilian Heinzler m.heinzler at heinzler.de
Thu Jan 2 11:59:07 PST 2014


Hi behdad,

you can get all needed files from the following two links. The second archive contains some "extensions" to the C++ standard libraries I found very useful to have.
https://www.dropbox.com/s/ctgspswbv8olgr0/il.zip
https://www.dropbox.com/s/aslbxguzenp3jb9/std.zip

I haven't bothered with a license yet, but I definitely want it to be open source and free.

Because I'm developing on Windows there are unfortunately no make-files and also very little documentation at the moment. But if there are any questions or suggestions please to not hesitate contacting me.

Regards,
Max

> -----Original Message-----
> From: Behdad Esfahbod [mailto:behdad.esfahbod at gmail.com] On Behalf Of
> Behdad Esfahbod
> Sent: Thursday, January 02, 2014 5:10 AM
> To: Maximilian Heinzler; Herb Sutter; cairo at cairographics.org
> Cc: 'jason zink'
> Subject: Re: [cairo] Cairo and ISO C++
> 
> Hi Max,
> 
> The abstractions definitely look interesting, specially the color space stuff.
> 
> I'm sure I'm not the only person who would appreciate seeing the code, if
> you are releasing it under an Open Source license.
> 
> behdad
> 
> On 14-01-01 11:06 PM, Maximilian Heinzler wrote:
> > Hello,
> >
> > I'm currently working on a similar image library. It's not just a C++ version of
> cairo but also does a little redesign of some methods and is written in the
> style of the standard libraries as far it is possible. Later it should also be able
> to read and write many different image file formats.
> >
> > The attached example code I just created shows a little bit of its usage and
> its png output.
> >
> >> -----Original Message-----
> >> From: cairo-bounces at cairographics.org [mailto:cairo-
> >> bounces at cairographics.org] On Behalf Of Behdad Esfahbod
> >> Sent: Wednesday, January 01, 2014 10:57 AM
> >> To: Herb Sutter; cairo at cairographics.org
> >> Cc: 'jason zink'
> >> Subject: Re: [cairo] Cairo and ISO C++
> >>
> >> On 14-01-01 10:23 AM, Herb Sutter wrote:
> >>> Hi, my name is Herb Sutter and I chair the ISO C++ standards
> >>> committee. Behdad referred me to this list as the right place to
> >>> raise this
> >> question:
> >>>
> >>> We are actively looking at the potential standardization of a basic
> >>> 2D drawing library for ISO C++, and would like to base it on (or
> >>> outright adopt, possibly as a binding) solid prior art in the form
> >>> of an existing library. You can find a quick summary of goals and
> >>> discussions to
> >> date in these two papers:
> >>>
> >>> ·         http://isocpp.org/files/papers/n3791.html
> >>>
> >>> ·         http://isocpp.org/files/papers/N3825.pdf
> >>>
> >>> As noted in the latter paper, we are currently investigating the
> >>> direction of proposing a mechanically C++-ified version of Cairo.
> >>> Specifically, “mechanically C++-ified” means taking Cairo as-is and
> >>> transforming it with a one-page list of mechanical changes such as
> >>> turning _create functions into constructors, (mystruct*, int length)
> >>> function parameters to vector<struct>& parameters, that sort of
> >>> thing – the design and abstractions and functions are unchanged.
> >>> This would also allow us to track Cairo as it evolves in the future,
> >>> by continuing to
> >> reapply the same rules to new updates to Cairo.
> >>
> >> Very interesting!  Looks like you already got most of it written
> >> down.  I think cairo is indeed a great fit for what the group is looking for.
> >>
> >> During cairo's development, there were some decisions made that we
> >> regretted later on.  I was going to suggest that those be revisited
> >> for standardization, but reading the documents you linked, I think
> >> that will go down the same design-by-committee path that you are
> >> trying to avoid.  So, personally, I fully support the current
> >> position outlined in the N3825 document and am willing to help with the
> effort.
> >>
> >>
> >>> We know about Cairomm but it seems to have languished so we are
> >>> focused on current Cairo as a starting point, even though it’s not
> >>> C++
> >>> -- we believe Cairo itself it is very well written C (already in an
> >>> OO style, already const-correct, etc.).
> >>
> >> Yes, I think you can go straight to cairo itself.  I'm guessing that
> >> you should be able to autogenerate the binding.  Perhaps, using
> >> gobject-introspection to generate a typelib for cairo, then reading
> >> the typelib, transforming it, and writing out the binding.
> >>
> >>
> >>> We want to make sure we’re doing this in the right way and with the
> >>> group’s approval, so your feedback would be much appreciated. Also,
> >>> we might want to reuse parts of the Cairo documentation in our
> >>> specification, which we understand is governed by MPL 1.1, and we
> >>> would like to know if this would be all right with your group.
> >>
> >> I sure would love to see cairo's functionality and quality be
> >> available anywhere C++ is :).
> >>
> >> Cheers,
> >> --
> >> behdad
> >> http://behdad.org/
> >> --
> >> cairo mailing list
> >> cairo at cairographics.org
> >> http://lists.cairographics.org/mailman/listinfo/cairo
> 
> --
> behdad
> http://behdad.org/


More information about the cairo mailing list