pods::SDL::Cursor 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::SDL::Cursor(3)  User Contributed Perl Documentation pods::SDL::Cursor(3)

NAME
       SDL::Cursor - Mouse cursor structure

CATEGORY
       Core, Mouse, Structure

SYNOPSIS
	my $cursor = SDL::Cursor->new(
	    \@data,
	    \@mask,
	    $width,
	    $height,
	    $hotspot_left,
	    $hotspot_top
	);

	SDL::Mouse::set_cursor($cursor);

DESCRIPTION
       The "SDL::Cursor" module handles mouse cursors, and allows the
       developer to use custom-made cursors.  Note that cursors can only be in
       black and white.

METHODS
   new
	my $cursor = SDL::Cursor->new(
	    \@data, \@mask, $width, $height, $hotspot_left, $hotspot_top
	);

       Create a cursor using the specified data and mask (in MSB format).  The
       cursor is created in black and white according to the following:

	Data / Mask   Resulting pixel on screen
	   0 / 1      White
	   1 / 1      Black
	   0 / 0      Transparent
	   1 / 0      Inverted color if possible, black if not.

       If you want to have color cursor, then this function is not for you.
       Instead, you should hide the cursor with
       "SDL::Mouse::show_cursor(SDL_DISABLE)".	Then in your main loop, when
       you draw graphics, draw a "SDL::Surface" at the location of the mouse
       cursor.

       Example:

	use SDL;
	use SDL::Video;
	use SDL::Mouse;
	use SDL::Cursor;

	SDL::init(SDL_INIT_VIDEO);
	SDL::Video::set_video_mode(640, 480, 16, SDL_SWSURFACE);

	my @data = (
	    0b00000000,
	    0b00111100,
	    0b01111110,
	    0b01111110,
	    0b01111110,
	    0b01111110,
	    0b00111100,
	    0b00000000
	);
	my @mask = (
	    0b00111100,
	    0b01111110,
	    0b11100111,
	    0b11000011,
	    0b11000011,
	    0b11100111,
	    0b01111110,
	    0b00111100
	);
	my $cursor = SDL::Cursor->new(\@data, \@mask, 8, 8, 0, 0);
	sleep(1);

	SDL::Mouse::set_cursor($cursor);
	sleep(5);

       The width of cursors work in groups of 8.  If the width is above 8,
       twice the amount of elements in @data and @mask are required.  If the
       width is above 16, three times are required, and so on.	For example,
       if you wanted a 9 pixel crosshair you might do the following:

	my @data = (
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	    0b11111111,0b10000000,
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	    0b00001000,0b00000000,
	);
	my @mask = @data;

	my $cursor = SDL::Cursor->new(\@data, \@mask, 9, 9, 4, 4);

       The hotspot is offset by 4 pixels because a crosshair clicks from the
       center instead of the top left.

AUTHORS
       See "AUTHORS" in SDL.

SEE ALSO
       perl SDL::Mouse

perl v5.18.1			  2013-09-28		  pods::SDL::Cursor(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