Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Created attachment 93975
Remove no longer useful .cvsignore files
I've wrapped most of the new Cairo 1.12 API (patches attached). The new wrappers are not ready for committing yet: I've only made sure that the library compiles, the new wrappers have not been tested.
Thanks. In an email, you said:
"
There is one place where I'm a bit unsure how to wrap the API:
cairo_surface_map_to_image requires that the returned surface is not
disposed through cairo_surface_destroy, but through
cairo_surface_unmap_image instead. This means we can't use RefPtr as
usual. Returning a plain pointer doesn't sound as a good idea either,
so I created a small wrapper modelling an unique pointer with a custom
deleter (see MappedImagePtr).
"
Which patches does this affect? I'd like to just apply the other patches as they seem straightforward.
Seems that I haven't committed everything. One function is enabled only in C++11 mode so that otherwise noncopyable Path can be returned using move semantics.
Which patches does this affect? I'd like to just apply the other patches as they seem straightforward.
This affects the "Wrap new Surface member functions" patch. Others may indeed be worth to commit, but I think writing a toy program to test the wrappers is still a good idea.
cairo_surface_map_to_image requires that the returned surface is not
disposed through cairo_surface_destroy, but through
cairo_surface_unmap_image instead. This means we can't use RefPtr as
usual. Returning a plain pointer doesn't sound as a good idea either,
so I created a small wrapper modelling an unique pointer with a custom
deleter (see MappedImagePtr).
Yes, I see that now. The C API is a bit awkward. I would have tried the same thing, but I wonder if it will be simple enough to make it worth wrapping this function.
I'm a bit surprised that you don't need a copy constructor and operator= for MappedImagePtr even just to use it as a return type. And without letting people copy it (with underlying reference-counting), you'd force people to do the (implicit) unmap in the same scope rather than at some later dynamically-chosen time.