Torsten Schoenfeld wrote: > * Aosd.xs > > - I'm surprised to see no PREFIX in the MODULE line. That's usually > needed so xsubpp knows how to form the method names. The .xs is what h2xs gave me. So don't ask me... ;) > - You expose aosd_destroy. Try to avoid binding memory management > related functions. In this case, you can automate releasing the object > by writing a DESTROY xsub which calls aosd_destroy: Ah, clear. I wrote a perl DESTROY which called aosd_destroy, but of course there is no need for a perl wrapper here. > - You use newSVnv to convert integers to SVs. newSVnv is for floating > point numbers. Use newSViv for signed integers. This was a copy'n paste from somewhere... ;) > When you tell EU::Depends that Cairo is a dependency, you get access to > Cairo's typemaps. So cairo_t* is handled automatically in normal > methods. Cool. > Unfortunately, callbacks can't be handled automatically yet. You need > to write a C function that has the specified signature. You pass a > reference to this C function to aosd_set_renderer. When aosd then > invokes the callback, your C function is called. Now the C function > needs to invoke a Perl callback somehow. To do that, you put a function > and a user data scalar into a struct and pass this struct to > aosd_set_renderer as user_data. Your C function receives this struct as > the second argument, so you unpack it and use perl's API to invoke the > function scalar. > [...] Ok, I will try this and report later. Thanks for your feedback. Regards, Jörn -- Joern Reder -> http://www.exit1.org/ -> http://search.cpan.org/~jred/
Attachment:
pgp0P9q0QFzKx.pgp
Description: PGP signature