Provided by: libsdl-perl_2.2.5-1build2_amd64 bug

NAME

       SDL::Surface - a SDL perl extension

SYNOPSIS

         use SDL::Surface;
         $image = new SDL::Surface(-name=>"yomama.jpg");

DESCRIPTION

       The "SDL::Surface" module encapsulates the SDL_Surface* structure, and many of its
       ancillatory functions.  Not only is it a workhorse of the OO Layer, it is the base class
       for the "SDL::App" class.

EXPORTS

               SDL_SWSURFACE           SDL_HWSURFACE
               SDL_ASYNCBLIT           SDL_ANYFORMAT
               SDL_HWPALETTE           SDL_DOUBLEBUF
               SDL_FULLSCREEN          SDL_OPENGL
               SDL_OPENGLBLIT          SDL_RESIZEABLE
               SDL_NOFRAME             SDL_SRCCOLORKEY
               SDL_RLEACCEL            SDL_SRCALPHA
               SDL_PREALLOC

METHODS

   new (-name => 'foo.png')
       The "SDL::Surface" class can be instantiated in a number of different ways.  If support
       for the SDL_image library was included when SDL_perl was compiled, the easiest way to
       create a new surface is to use the "SDL::Surface::new" method with the "-name" option.
       This will load the image from the file and return an object encapsulating the
       SDL_Surface*.

   new (-from => $buffer, ... )
       If the contents of the new Surface is already in memory, "SDL::Surface::new" may be called
       with the "-from" option to create an image from that section of memory.  This method takes
       the following additional parameters:

       ·   -width         the width of the image in pixels

       ·   -height        the height of the image in pixels

       ·   -depth         the number of bits per pixel

       ·   -pitch         the number of bytes per line

       ·   -Rmask         an optional bitmask for red

       ·   -Gmask         an optional bitmask for green

       ·   -Bmask         an optional bitmask for green

       ·   -Amask         an optional bitmask for alpha

   new ( -flags => SDL_SWSURFACE, ... )
       Finally, "SDL::Suface::new" may be invoked with the "-flags" option, in a similar fashion
       to the "-from" directive.  This invocation takes the same additional options as "-from"
       with the exception of "-pitch" which is ignored.  This method returns a new, blank,
       SDL::Surface option with any of the following flags turned on:

       ·   SWSURFACE()    a non-accelerated surface

       ·   HWSURFACE()    a hardware accelerated surface

       ·   SRCCOLORKEY()  a surface with a transperant color

       ·   SRCALPHA()     an alpha blended, translucent surface

   flags ()
       "SDL::Surface::flags" returns the flags with which the surface was initialized.

   palette ()
       "SDL::Surface::palette" currently returns a SDL_Palette*, this may change in future
       revisions.

   bpp ()
       "SDL::Surface::bpp" returns the bits per pixel of the surface

   bytes_per_pixel ()
       "SDL::Surface::bytes_per_pixel" returns the bytes per pixel of the surface

   Rshift ()
       "SDL::Surface::Rshift" returns the bit index of the red field for the surface's pixel
       format

   Gshift ()
       "SDL::Surface::Gshift" returns the bit index of the green field for the surface's pixel
       format

   Bshift ()
       "SDL::Surface::Bshift" returns the bit index of the blue field for the surface's pixel
       format

   Ashift ()
       "SDL::Surface::Ashift" returns the bit index of the alpha field for the surface's pixel
       format

   Rmask ()
       "SDL::Surface::Rmask" returns the bit mask for the red field for teh surface's pixel
       format

   Gmask ()
       "SDL::Surface::Gmask" returns the bit mask for the green field for teh surface's pixel
       format

   Bmask ()
       "SDL::Surface::Bmask" returns the bit mask for the blue field for teh surface's pixel
       format

   Amask ()
       "SDL::Surface::Amask" returns the bit mask for the alpha field for teh surface's pixel
       format

   color_key ()
       "SDL::Surface::color_key" returns the current color key for the image, which can be set
       with the "SDL::Surface::set_color_key" method.  Before calling "SDL::Surface::color_key"
       on a image, you should fist call "SDL::Surface::display_format" to convert it to the same
       format as the display.  Failure to do so will result in failure to apply the correct
       color_key.

   alpha ()
       "SDL::Surface::alpha" returns the current alpha value for the image, which can be set with
       the "SDL::Surface::set_alpha" method.

   width ()
       "SDL::Surface::width" returns the width in pixels of the surface

   height ()
       "SDL::Surface::height" returns the height in pixels of the surface

   pitch ()
       "SDL::Surface::pitch" returns the width of a surface's scanline in bytes

   pixels ()
       "SDL::Surface::pixels" returns a Uint8* to the image's pixel data.  This is not inherently
       useful within perl, though may be used to pass image data to user provided C functions.

   pixel (x,y,[color])
       "SDL::Surface::pixel" will set the color value of the pixel at (x,y) to the given color if
       provided.  "SDL::Surface::pixel" returns a SDL::Color object for the color value of the
       pixel at (x,y) after any possible modifications.

   fill (rect,color)
       "SDL::Surface::fill" will fill the given SDL::Rect rectangle with the specified SDL::Color
       This function optionally takes a SDL_Rect* and a SDL_Color*

   lockp ()
       "SDL::Surface::lockp" returns true if the surface must be locked

   lock ()
       "SDL::Surface::lock" places a hardware lock if necessary, preventing access to the
       surface's memory

   unlock ()
       "SDL::Surface::unlock" removes any hardware locks, enabling blits

   update ( rects...)
       "SDL::Surface::update" takes one or more SDL::Rect's which determine which sections of the
       image are to be updated.  This option is only useful on the appliaction surface.

   flip ()
       "SDL::Surface::flip" updates the full surface, using a double buffer if available

   blit (srect,dest,drect)
       "SDL::Surface::blit" blits the current surface onto the destination surface, according to
       the provided rectangles.  If a rectangle is 0, then the full surface is used.

   set_colors (start,colors...)
       "SDL::Surface::set_colors" updates the palette starting at index "start" with the supplied
       colors.  The colors may either be SDL::Color objects or SDL_Color* from the low level
       C-style API.

   set_color_key (flag,pixel) or (flag,x,y)
       "SDL::Surface::set_color_key" sets the blit flag, usually SDL_SRCCOLORKEY, to the
       specified SDL::Color object.  Optional a SDL_Color* may be passed.

   set_alpha (flag,alpha)
       "SDL::Surface::set_alpha" sets the opacity of the image for alpha blits.  "alpha" takes a
       value from 0x00 to 0xff.

   display_format ()
       "SDL::Surface::display_format" converts the surface to the same format as the current
       screen.

   rgb () "SDL::Surface::rgb" converts the surface to a 24 bit rgb format regardless of the
       initial format.
   rgba () "SDL::Surface::rgba" converts the surface to a 32 bit rgba format regarless of the
       initial format.
   print (x,y,text...)
       "SDL::Surface::print" renders the text using the current font onto the image.  This option
       is only supported for with SDL_image and SFont.

   save_bmp (filename)
       "SDL::Surface::save_bmp" saves the surface to filename in Windows BMP format.

   video_info ()
       "SDL::Surface::video_info" returns a hash describing the current state of the video
       hardware.

AUTHOR

       David J. Goehrig

SEE ALSO

       perl SDL::App SDL::Color SDL::Palette SDL::Rect