
=head1 NAME

SDL::GFX::Rotozoom - rotation and zooming functions for surfaces

=head1 CATEGORY

TODO, GFX

=head1 CONSTANTS

The constants are not exported by default. You can export them into your namespace by doing:

 use SDL::GFX::Rotozoom ':all';

or access them directly:

 SDL::GFX::Rotozoom::SMOOTHING_OFF;

or by choosing the export tags below:

Export tag: ':smoothing'

 SMOOTHING_OFF
 SMOOTHING_ON

=head1 METHODS

=head2 surface

 SDL_Surface *
 gfx_roto_surface(src, angle, zoom, smooth)
 	SDL_Surface * src
 	double angle
 	double zoom
 	int smooth
 	PREINIT:
 		char *CLASS = "SDL::Surface";
 	CODE:
 		RETVAL = rotozoomSurface(src, angle, zoom, smooth);
 	OUTPUT:
 		RETVAL

=head2 surface_xy

 SDL_Surface *
 gfx_roto_surface_xy(src, angle, zoomx, zoomy, smooth)
 	SDL_Surface * src
 	double angle
 	double zoomx
 	double zoomy
 	int smooth
 	PREINIT:
 		char *CLASS = "SDL::Surface";
 	CODE:
 		RETVAL = rotozoomSurfaceXY(src, angle, zoomx, zoomy, smooth);
 	OUTPUT:
 		RETVAL

=head2 surface_size

 void 
 gfx_roto_surface_size(width, height, angle, zoom, dstwidth, dstheight)
 	int width
 	int height
 	double angle
 	double zoom
 	int *dstwidth
 	int *dstheight
 	CODE:
 		rotozoomSurfaceSize(width, height, angle, zoom, dstwidth, dstheight);

=head2 surface_size_xy

 void 
 gfx_roto_surface_size_xy(width, height, angle, zoomx, zoomy, dstwidth, dstheight)
 	int width
 	int height
 	double angle
 	double zoomx
 	double zoomy
 	int *dstwidth
 	int *dstheight
 	CODE:
 		rotozoomSurfaceSizeXY(width, height, angle, zoomx, zoomy, dstwidth, dstheight);
	
=head2 zoom_surface

 SDL_Surface *
 gfx_roto_zoom_surface(src, zoomx, zoomy, smooth)
 	SDL_Surface * src
 	double zoomx
 	double zoomy
 	int smooth
 	PREINIT:
 		char *CLASS = "SDL::Surface";
 	CODE:
 		RETVAL = zoomSurface(src, zoomx, zoomy, smooth);
 	OUTPUT:
 		RETVAL

=head2 zoom_surface_size

 void
 gfx_roto_zoom_surface_size(width, height, zoomx, zoomy, dstwidth, dstheight)
 	int width
 	int height
 	double zoomx
 	double zoomy
 	int *dstwidth
 	int *dstheight
 	CODE:
 		zoomSurfaceSize(width, height, zoomx, zoomy, dstwidth, dstheight);

=head2 shrink_surface

 SDL_Surface *
 gfx_roto_shrink_surface(src, factorx, factory)
 	SDL_Surface * src
 	int factorx
 	int factory
 	PREINIT:
 		char *CLASS = "SDL::Surface";
 	CODE:
 		RETVAL = shrinkSurface(src, factorx, factory);
 	OUTPUT:
 		RETVAL

=head2 rotate_surface_90_degrees

 SDL_Surface *
 gfx_roto_rotate_surface_90_degrees(pSurf, numClockwiseTurns)
 	SDL_Surface* pSurf
 	int numClockwiseTurns
 	PREINIT:
 		char *CLASS = "SDL::Surface";
 	CODE:
 		RETVAL = rotateSurface90Degrees(pSurf, numClockwiseTurns);
 	OUTPUT:
 		RETVAL

=head1 AUTHORS

See L<SDL/AUTHORS>.


