Hi, On Fri, Feb 5, 2010 at 3:49 AM, Kartik Thakore <thakore.kar...@gmail.com> wrote: > HI Guillaume, > > Since most of the new SDL API is ready for frozen bubble I have started to > move FB over to it. Here is my work so far > http://github.com/kthakore/frozen-bubble/tree/redesign you will need the > SDL_perl from here http://github.com/kthakore/SDL_perl/tree/redesign
Why have you removed the sugar in your new sdlpl? > However I am getting stuck at a particular location where you try to convert > SDL::Surface to a hash_ref or something and send it to > fb_c_stuff::rotate_bicubic > > The conversion is done at the subroutine surf. > >> sub surf { >> my ($surface) = @_; >> $surfstyle ||= UNIVERSAL::isa($surface, 'HASH') ? 'hashref' : >> 'scalarref'; >> return $surfstyle eq 'hashref' ? $surface->{-surface} : $$surface; >> } This is to be compatible with hashref style sdl (sdl 1.x I think) and scalarref style sdl (sdl 2.x I think), to obtain the SDL_Surface* needed for my XS stuff (rotate_bicubic and others). > Since there are no comments here I am at a loss. Currently SDL::Surface as > Opaque Objects in the typemap to prevent memory leaks. You can see the Why being opaque prevents memory leaks? > The code starts at line 2718. > > >> $canon{img}{$number} = SDL::Surface->new( SDL_ANYFORMAT, >> $shooter->w, $shooter->h, 32, 0,0,0,0); >> fb_c_stuff::rotate_bicubic(surf($canon{img}{$number}), >> surf($shooter), $angle); > > What is the need for surf here? > > Thanks for any help in advance. > > Cheers > Kartik Thakore > -- Guillaume Cottenceau - http://zarb.org/~gc/