pods::SDLx::LayerManager man page on OpenSuSE

Man page or keyword search:  
man Server   25941 pages
apropos Keyword Search (all sections)
Output format
OpenSuSE logo
[printable version]

pods::SDLx::LayerManagUser)Contributed Perl Documenpods::SDLx::LayerManager(3)

NAME
       SDLx::LayerManager - Extension for managing layers in a 2D world

CATEGORY
       Extension

SYNOPSIS
	 use SDLx::Layer;
	 use SDLx::LayerManager;

	 use SDL::Image;
	 use SDL::Surface;
	 use SDL::Video;

	 # creating layers
	 my $layer1 = SDLx::Layer->new( SDL::Image::load('image1.png'), {userdata => '7'} );
	 my $layer2 = SDLx::Layer->new( SDL::Image::load('image2.png'), 100, 200, {userdata => '42'} );

	 # creating the manager that holds the layers
	 my $layermanager = SDLx::LayerManager->new();
	 $layermanager->add( $layer1 );
	 $layermanager->add( $layer2 );

	 my $display = # create your video surface here

	 $layermanager->blit( $display );

	 # accessing the layer at point(x,y)
	 print( $layermanager->by_position( 150, 200 )->data->{userdata} ); # should print '42'

DESCRIPTION
       SDLx::LayerManager is a package to handle a bunch of layers. A layer
       (see SDLx::Layer) is an SDL::Surface, the position of the surface on
       screen and some additional information.

       The layermanager gives you the opportunity to obtain the layer at a
       given point on screen and get the layers that are ahead or behind a
       layer.

       You will even be able to attach one or more layers to the mouse, e.g.
       for simulation some drag&drop functionality.

METHODS
   new
	 my $layermanager = SDLx::LayerManager->new();

       This creates your layermanager object. It doesn't take any parameters.

   add
	 $layermanager->add( $layer );
	 $layermanager->add( SDLx::Layer->new( $surface, $x, $y, $options ) );

       Call "add" to push an SDLx::Layer object to the layermanager.

   layers
	 my @layers = @{ $layermanager->layers };
	 my $first_layer = $layermanager->layers->[0];

       The method "layers" returns all layers that were added before.

   layer
	 my $layer = $layermanager->layer( $index );

       To obtain only one layer at index $index use this function. $index
       ranges from 0 to "length - 1".

   length
	 my $length = $layermanager->length();

       This method returns the count of the added layers.

   blit
	 $layermanager->blit( $surface );

       This method blits all layers to the surface (e.g. your video surface).

   by_position
	 my $layer = $layermanager->by_position( $x, $y );

       "by_position" returns the "SDLx::Layer" object at point "$x $y", which
       is not fully transparent at this pixel.

   ahead
	 my @layers = @{ $layermanager->ahead( $index ) };

       This method returns all layers that are ahead of the given layer
       indicated by $index.  Ahead means that a layer has a higher z-index and
       is blitted over the given layer.

       Note: This method doesn't check for transparency. This will change in
       future versions.

   behind
	 my @layers = @{ $layermanager->behind( $index ) };

       This method returns all layers that are behind of the given layer
       indicated by $index.  Behind means that a layer has a lower z-index and
       is blitted before the given layer.

       Note: This method doesn't check for transparency. This will change in
       future versions.

   attach
	 $layermanager->attach( $layer,	 $x, $y );
	 $layermanager->attach( @layers, $x, $y );

       This function makes the given layer(s) sticky to the mouse. If you move
       the mouse the layer(s) will follow.  The layermanager blits these
       layers at last, so they will appear on top of all layers.

       $x and $y should be set to the coords of the mouse, e.g. the coords of
       the mouse click.	 If you omit $x and $y the layermanager obtains them
       via SDL::Events::get_mouse_state.

       Note: The z-index is not changed for the given layers.

   detach_xy
	 $layermanager->detach_xy( $x, $y );

       "detach_xy" detaches the previously attached layers to the given
       coords. The upper left corner of the backmost layer will be at $x and
       $y.  The other layers are positioned relative to the backmost layer
       just like before.

   detach_back
	 $layermanager->detach_back( );

       "detach_back" detaches the previously attached layers back to the
       position where they were attached.

   foreground
	 $layermanager->foreground( $layer );
	 $layermanager->foreground( @layers );

       This method moves the given layer(s) to the foreground so that they are
       blitted on top of the other layers.

BUGS
       Report at sdlperl.ath.cx

SUPPORT
       #sdl irc.perl.org

AUTHORS
       See "AUTHORS" in SDL.

COPYRIGHT
       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full text of the license can be found in the LICENSE file included
       with this module.

SEE ALSO
       perl(1), SDL(2).

perl v5.18.1			  2013-09-28	   pods::SDLx::LayerManager(3)
[top]

List of man pages available for OpenSuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net