X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL-Cursor.html-inc;h=289bf2ef22f8a7f0f70e5d15d539db2602df526e;hb=c6a6575d8026dbc5743cc2056164661c6be15115;hp=0a4504dc8df5289ca537b48c0665346bf2e2d5f1;hpb=bb5f3b83c1a4c2ae8ddb6bbc7782105067175b3c;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL-Cursor.html-inc b/pages/SDL-Cursor.html-inc index 0a4504d..289bf2e 100644 --- a/pages/SDL-Cursor.html-inc +++ b/pages/SDL-Cursor.html-inc @@ -3,10 +3,11 @@
SDL::Cursor - a SDL perl extension
+SDL::Cursor -- Mouse cursor structure
+ +Core, Mouse, Structure
$cursor = SDL::Cursor->new( - -data => new SDL::Surface "cursor.png", - -mask => new SDL::Surface "mask.png", - -x => 0, -y => 0 ); - $cusor->use; +my $cursor = SDL::Cursor->new( + \@data, + \@mask, + $width, + $height, + $hotspot_left, + $hotspot_top ); + + SDL::Mouse::set_cursor($cursor);
the SDL::Cursor module handles mouse cursors, and provide the developer to +
the SDL::Cursor
module handles mouse cursors, and provide the developer to
use custom made cursors. Note that the cursors can only be in black and
white.
Creates a new cursor. The <C>-data</C> and <C>-mask</C> parameters should be both black and white pictures. The height and width of these surfaces should be a multiple of 8. The <C>-x</C> and <C>-y</C> are the coordinates of the cursor 'hot spot'.
+Create a cursor using the specified data and mask (in MSB format). The cursor width must be a multiple of 8 bits.
+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. + ++
Cursors created with this function must be freed with SDL_FreeCursor.
+If you want to have color cursor, then this function is not for you; instead, you must hide normal system cursor with SDL::Cursor-
new>
+and in your main loop, when you draw graphics, also draw a SDL::Surface
at the location of the mouse cursor.
Example:
+use SDL; + use SDL::Cursor; + use SDL::Mouse; + use SDL::Video; + + 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); + +
perl SDL::Mouse
+