use this code
Code:
static const char HideArrow[] = {
/ width height num_colors chars_per_pixel /
" 32 32 3 1",
/ colors /
“X c #000000”,
". c #ffffff",
" c None",
/ pixels */
" “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” “,
” ",
“0,0”
};
//Create cursor on my mask cursor
static SDL_Cursor init_system_cursor(const char image[])
{
int i, row, col;
Uint8 data[432];
Uint8 mask[432];
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;
mask[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);
}
SDL_Cursor *bHidenCursor;
…
//On application init
// Hide cursor
bHidenCursor=init_system_cursor(HideArrow);
SDL_SetCursor(bHidenCursor);
…
//On application close
SDL_FreeCursor(bHidenCursor);