X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL-Mouse.html-inc;h=afc11efee892c9759c595ff8e6e735ba29996fcd;hb=801213bdc2b379a428fdebad07e9d404cec99a06;hp=b967131dd550026216a369ced26d024a5ed9dd6a;hpb=48f19ee87cf9a4809ecbcc021c53ae12dda725d7;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL-Mouse.html-inc b/pages/SDL-Mouse.html-inc index b967131..afc11ef 100644 --- a/pages/SDL-Mouse.html-inc +++ b/pages/SDL-Mouse.html-inc @@ -4,22 +4,22 @@
SDL::Mouse -- SDL Bindings for the Mouse device
+SDL::Mouse - SDL Bindings for the Mouse device
Core, Mouse
-The constants for SDL::Mouse belong to SDL::Events/SDL::Event, under the export tag of ':state'
.
my $cursor = SDL::Mouse::create_cursor( \@data, \@mask, $width, $height, $hotspot_left, $hotspot_top ); - --
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::Mouse::show_cursor
-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::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::Mouse::create_cursor( \@data, \@mask, 8, 8, 0, 0 ); - - sleep(1); - SDL::Mouse::set_cursor($cursor); - - sleep(5); - -+
void warp_mouse( int $x, int $y ); +SDL::Mouse::warp_mouse( $x, $y );-Set the position of the mouse cursor (generates a mouse motion event).
- -
void free_cursor( object ); - --
Frees a cursor that was created using SDL::Cursor-
new()>.
Set the position of the mouse cursor (generates a mouse motion event). +Even if the mouse is warped to where it currently is, a mouse motion event is generated.
void set_cursor( object ); +SDL::Mouse::set_cursor( $cursor_object );-Sets the currently active cursor to the specified one. If the cursor is currently visible, the change will be immediately represented -on the display.
+set_cursor()
can be used to force cursor redraw, if this is desired for any reason.Sets the currently active cursor to the specified one. +See SDL::Cursor for details on cursor objects. +If the cursor is currently visible, the change will be immediately represented on the display. +
set_cursor()
can be used to force cursor redraw, if this is desired for any reason.
object get_cursor(); +my $cursor_object = SDL::Mouse::get_cursor;Gets the currently active mouse cursor.
@@ -123,17 +66,19 @@ on the display.set_cursor()
can be used to force cursor redraw, if
int show_cursor( int toggle ); +my $return = SDL::Mouse::show_cursor( $state );-Toggle whether or not the cursor is shown on the screen. Passing
SDL_ENABLE
displays the cursor and passingSDL_DISABLE
hides it. +Toggle whether or not the cursor is shown on the screen. +Passing
SDL_ENABLE
displays the cursor and passingSDL_DISABLE
hides it. The current state of the mouse cursor can be queried by passingSDL_QUERY
, eitherSDL_DISABLE
orSDL_ENABLE
will be returned.use SDL; use SDL::Mouse; use SDL::Video; + use SDL::Events ':state'; #For the constants SDL::init(SDL_INIT_VIDEO); - SDL::Video::set_video_mode( 640, 480, 16, SDL_SWSURFACE); + SDL::Video::set_video_mode(640, 480, 16, SDL_SWSURFACE); printf("Cursor is %s\n", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible'); @@ -152,4 +97,9 @@ The current state of the mouse cursor can be queried by passingSDL_QUERY<