The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

SDL::Mouse -- SDL Bindings for the Mouse device

CATEGORY

Core, Mouse

METHODS

warp_mouse

void warp_mouse( int $x, int $y );

Set the position of the mouse cursor (generates a mouse motion event).

set_cursor

void set_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.

get_cursor

object get_cursor();

Gets the currently active mouse cursor.

show_cursor

int show_cursor( int toggle );

Toggle whether or not the cursor is shown on the screen. Passing SDL_ENABLE displays the cursor and passing SDL_DISABLE hides it. The current state of the mouse cursor can be queried by passing SDL_QUERY, either SDL_DISABLE or SDL_ENABLE will be returned.

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

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

printf("Cursor is %s\n", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible');

sleep(3);

SDL::Mouse::show_cursor(SDL_DISABLE);
printf("Cursor is %s\n", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible');

sleep(3);

SDL::Mouse::show_cursor(SDL_ENABLE);
printf("Cursor is %s\n", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible');

sleep(3);