Unix/Linux Go Back    


CentOS 7.0 - man page for sdl_createcursor (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 03:17 PM.