debian man page for sdl::cursor

Query: sdl::cursor

OS: debian

Section: 3pm

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

pods::SDL::Cursor(3pm)					User Contributed Perl Documentation				    pods::SDL::Cursor(3pm)

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.14.2 2012-05-28 pods::SDL::Cursor(3pm)
Related Man Pages
sdl_createcursor(3) - opensolaris
sdl_createcursor(3) - debian
sdl::gfx::rotozoom(3pm) - debian
sdl::mouse(3pm) - debian
sdl::surface(3pm) - debian
Similar Topics in the Unix Linux Community
Mouse Problems
Mouse can not work in Solaris 10
SDL Asylum 0.2.4 (Default branch)
SDL Asylum 0.3.0 (Default branch)
search and replace characters in one string