Le mar 21/09/2004 à 10:47, Kenneth Gangstø a écrit : > Thanks for the patch. I have no idea about how the SDL target should work, > so I just have to trust you that it works.
The rotation angle and source size was uncorrect, it's more something like that : (see attached patch) TODO : - Fix rotation hotspot - Flip function (for negative scale) > In OpenGL (and any other hardware accelerated platform) > rotating and scaling is done on the fly. There is no need to cache a > rotated surface. In the software world of SDL, you might consider > doing it otherwise. Another thing to add in the TODO list :-D Bye, Haypo
--- surface_sdl.cpp.old 2004-09-21 11:20:33.000000000 +0200 +++ surface_sdl.cpp 2004-09-21 14:06:37.000000000 +0200 @@ -278,11 +278,10 @@ else { #ifdef HAVE_LIBSDL_GFX - source.w = dst.w; - source.h = dst.h; + SDL_Surface *zoom = rotozoomSurface (surface, -params2->rotate_angle, params2->scale_x, SMOOTHING_ON); - float angle=params2->rotate_angle*180/M_PI; - SDL_Surface *zoom = rotozoomSurface (surface, angle, params2->scale_x, SMOOTHING_ON); + source.w = zoom->w; + source.h = zoom->h; if(zoom->format->BitsPerPixel > 8) {