X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL-Cursor.html-inc;h=9f2914dac222ce6d61004e37051fa223561336ed;hb=7c40f9a10a022c9bea3901daafc3f0e258a273d1;hp=bb02e7cbaf748a3322432cf339b7c5179006186d;hpb=37af21e0ad960cda784a3d3e51fd40b0f565af03;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL-Cursor.html-inc b/pages/SDL-Cursor.html-inc index bb02e7c..9f2914d 100644 --- a/pages/SDL-Cursor.html-inc +++ b/pages/SDL-Cursor.html-inc @@ -3,14 +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. -
Set the position of the SDL::Cursor given as first parameter . -the new postion is set to <C>x</C>, <C>y</C> coordinates in the application window. -SDL::warp trigger a new mouse motion event. -It doesn't returns anything.
+ +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; -
Set the SDL::Cursor given as first parameter to the active cursor.
+ SDL::init(SDL_INIT_VIDEO); + SDL::Video::set_video_mode( 640, 480, 16, SDL_SWSURFACE); -When used statically <C>SDL::Cursor::get()</C>, it will return the instance of the current cursor in use. Called as a method, it will return itself.
-This method can be useful if you are dealing with several cursors.
+ my @data = ( + 0b00000000, + 0b00111100, + 0b01111110, + 0b01111110, + 0b01111110, + 0b01111110, + 0b00111100, + 0b00000000 + ); -Set the visibility of the cursor. A false value will make the cursor -invisible in the Application window. A true value will show it back.
+ 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); + +David J. Goehrig
+David J. Goehrig, Tobias Leich
perl SDL::Surface
+perl SDL::Mouse