Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sdl_createcursor(3) [suse man page]

SDL_CreateCursor(3)						 SDL API Reference					       SDL_CreateCursor(3)

NAME
SDL_CreateCursor - Creates a new mouse cursor. SYNOPSIS
#include "SDL.h" SDL_Cursor *SDL_CreateCursor(Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y); DESCRIPTION
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. EXAMPLE
/* Stolen from the mailing list */ /* Creates a new mouse cursor from an XPM */ /* XPM */ static const char *arrow[] = { /* width height num_colors chars_per_pixel */ " 32 32 3 1", /* colors */ "X c #000000", ". c #ffffff", " c None", /* pixels */ "X ", "XX ", "X.X ", "X..X ", "X...X ", "X....X ", "X.....X ", "X......X ", "X.......X ", "X........X ", "X.....XXXXX ", "X..X..X ", "X.X X..X ", "XX X..X ", "X X..X ", " X..X ", " X..X ", " X..X ", " XX ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "0,0" }; static SDL_Cursor *init_system_cursor(const char *image[]) { int i, row, col; Uint8 data[4*32]; Uint8 mask[4*32]; int hot_x, hot_y; i = -1; for ( row=0; row<32; ++row ) { for ( col=0; col<32; ++col ) { if ( col % 8 ) { data[i] <<= 1; mask[i] <<= 1; } else { ++i; data[i] = mask[i] = 0; } switch (image[4+row][col]) { case 'X': data[i] |= 0x01; k[i] |= 0x01; break; case '.': mask[i] |= 0x01; break; case ' ': break; } } } sscanf(image[4+row], "%d,%d", &hot_x, &hot_y); return SDL_CreateCursor(data, mask, 32, 32, hot_x, hot_y); } SEE ALSO
SDL_FreeCursor, SDL_SetCursor, SDL_ShowCursor SDL
Tue 11 Sep 2001, 23:01 SDL_CreateCursor(3)

Check Out this Related Man Page

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

NAME
SDL::Mouse - SDL Bindings for the Mouse device CATEGORY
Core, Mouse CONSTANTS
The constants for SDL::Mouse belong to SDL::Events/SDL::Event, under the export tag of ':state'. METHODS
warp_mouse SDL::Mouse::warp_mouse( $x, $y ); 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. set_cursor SDL::Mouse::set_cursor( $cursor_object ); 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. get_cursor my $cursor_object = SDL::Mouse::get_cursor; Gets the currently active mouse cursor. show_cursor 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 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; use SDL::Events ':state'; #For the constants SDL::init(SDL_INIT_VIDEO); SDL::Video::set_video_mode(640, 480, 16, SDL_SWSURFACE); printf("Cursor is %s ", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible'); sleep(3); SDL::Mouse::show_cursor(SDL_DISABLE); printf("Cursor is %s ", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible'); sleep(3); SDL::Mouse::show_cursor(SDL_ENABLE); printf("Cursor is %s ", SDL::Mouse::show_cursor(SDL_QUERY) ? 'visible' : 'not visible'); sleep(3); SEE ALSO
SDL::Cursor AUTHORS
See "AUTHORS" in SDL. perl v5.14.2 2012-05-28 pods::SDL::Mouse(3pm)
Man Page