mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2024-11-10 14:51:58 +00:00
120 lines
3.3 KiB
Groff
120 lines
3.3 KiB
Groff
.TH "SDL_CreateCursor" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference"
|
|
.SH "NAME"
|
|
SDL_CreateCursor \- Creates a new mouse cursor\&.
|
|
.SH "SYNOPSIS"
|
|
.PP
|
|
\fB#include "SDL\&.h"
|
|
.sp
|
|
\fBSDL_Cursor *\fBSDL_CreateCursor\fP\fR(\fBUint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y\fR);
|
|
.SH "DESCRIPTION"
|
|
.PP
|
|
Create a cursor using the specified \fBdata\fR and \fBmask\fR (in MSB format)\&. The cursor width must be a multiple of 8 bits\&.
|
|
.PP
|
|
The cursor is created in black and white according to the following:
|
|
.TP 20
|
|
\fBData / Mask\fR
|
|
\fBResulting pixel on screen\fR
|
|
.TP 20
|
|
0 / 1
|
|
White
|
|
.TP 20
|
|
1 / 1
|
|
Black
|
|
.TP 20
|
|
0 / 0
|
|
Transparent
|
|
.TP 20
|
|
1 / 0
|
|
Inverted color if possible, black if not\&.
|
|
.PP
|
|
Cursors created with this function must be freed with \fISDL_FreeCursor\fR\&.
|
|
.SH "EXAMPLE"
|
|
.PP
|
|
.nf
|
|
\f(CW/* 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);
|
|
}\fR
|
|
.fi
|
|
.PP
|
|
.SH "SEE ALSO"
|
|
.PP
|
|
\fI\fBSDL_FreeCursor\fP\fR, \fI\fBSDL_SetCursor\fP\fR, \fI\fBSDL_ShowCursor\fP\fR
|
|
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01
|