SDL_CreateCursor man page on Syllable

Man page or keyword search:  
man Server   2339 pages
apropos Keyword Search (all sections)
Output format
Syllable logo
[printable version]

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)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Syllable

List of man pages available for Syllable

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net