:mod:`pygame2.sdlgfx.rotozoom` -- SDL_gfx rotozoom wrapper module
=================================================================

SDL_gfx rotozoom wrapper module

.. module:: pygame2.sdlgfx.rotozoom
   :synopsis: SDL_gfx rotozoom wrapper module

Module Functions
----------------
.. function:: rotate_90 (surface, times) -> Surface

  Rotates a surface clockwise by 90 degrees.

  Rotates the passed *surface* clockwise by 90 degrees and returns a new
  :class:`pygame2.sdl.video.Surface` with the rotated result.
  *times* denotes the amount of rotations to perform.



.. function:: rotozoom (surface, angle, zoom[, smooth]) -> Surface

  Rotates and zooms a surface.

  Rotates and zooms a *surface* at the same time and returns a new
  :class:`pygame2.sdl.video.Surface` with the result. *angle* is the
  rotation angle in degrees, *zoom* the zoom factor. The optional
  *smooth* argument is used for smoothing the edges and pixels of
  the returned surface.



.. function:: rotozoom_size (width, height, angle, zoom) -> int, int
              rotozoom_size (size, angle, zoom) -> int, int
              rotozoom_size (surface, angle, zoom) -> int, int

  Calculates the resulting surface size for a rotozoom operation.

  Calculates the size of the resulting surface, if a rotozoom operation
  takes place on a specific :class:`pygame2.sdl.video.Surface`.



.. function:: rotozoom_size_xy (width, height, angle, zoomx, zoomy) -> int, int
              rotozoom_size_xy (size, angle, zoomx, zoomy) -> int, int
              rotozoom_size_xy (surface, angle, zoomx, zoomy) -> int, int

  Calculates the resulting surface size for a rotozoom operation.

  Calculates the size of the resulting surface, if a rotozoom operation
  takes place on a specific :class:`pygame2.sdl.video.Surface`.



.. function:: rotozoom_xy (surface, angle, zoomx, zoomy[, smooth]) -> Surface

  Rotates and zooms a surface with different scaling factors for the x- and y- axes.

  Rotates and zooms a *surface* at the same time and returns a new
  :class:`pygame2.sdl.video.Surface` with the result. *angle* is the
  rotation angle in degrees, *zoomx* and *zoomy* the zoom factors
  for the x- and y-axis. The optional *smooth* argument is used for
  smoothing the edges and pixels of the returned surface.



.. function:: zoom (surface, shrinkx, shrinky) -> Surface

  Shrinks a surface.

  Shrinks a *surface* and returns a new
  :class:`pygame2.sdl.video.Surface` with the result. *shrinkx* and
  *shrinky* are the shrink factors for the x- and y-axis.



.. function:: zoom (surface, zoomx, zoomy[, smooth]) -> Surface

  Zooms a surface.

  Zooms a *surface* and returns a new
  :class:`pygame2.sdl.video.Surface` with the result. *zoomx* and
  *zoomy* are the zoom factors for the x- and y-axis. The optional
  *smooth* argument is used for smoothing the edges and pixels of
  the returned surface.



.. function:: zoom_size (width, height, angle, zoom) -> int, int
              zoom_size (surface, angle, zoom) -> int, int

  Calculates the resulting surface size for a zoom operation.

  Calculates the size of the resulting surface, if a zoom operation
  takes place on a specific :class:`pygame2.sdl.video.Surface`.




