symbian-qemu-0.9.1-12/libsdl-trunk/docs/man3/SDL_CreateCursor.3
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 .TH "SDL_CreateCursor" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
       
     2 .SH "NAME"
       
     3 SDL_CreateCursor \- Creates a new mouse cursor\&.
       
     4 .SH "SYNOPSIS"
       
     5 .PP
       
     6 \fB#include "SDL\&.h"
       
     7 .sp
       
     8 \fBSDL_Cursor *\fBSDL_CreateCursor\fP\fR(\fBUint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y\fR);
       
     9 .SH "DESCRIPTION"
       
    10 .PP
       
    11 Create a cursor using the specified \fBdata\fR and \fBmask\fR (in MSB format)\&. The cursor width must be a multiple of 8 bits\&.
       
    12 .PP
       
    13 The cursor is created in black and white according to the following: 
       
    14 .TP 20
       
    15 \fBData / Mask\fR
       
    16 \fBResulting pixel on screen\fR
       
    17 .TP 20
       
    18 0 / 1
       
    19 White
       
    20 .TP 20
       
    21 1 / 1
       
    22 Black
       
    23 .TP 20
       
    24 0 / 0
       
    25 Transparent
       
    26 .TP 20
       
    27 1 / 0
       
    28 Inverted color if possible, black if not\&.
       
    29 .PP
       
    30 Cursors created with this function must be freed with \fISDL_FreeCursor\fR\&.
       
    31 .SH "EXAMPLE"
       
    32 .PP
       
    33 .nf
       
    34 \f(CW/* Stolen from the mailing list */
       
    35 /* Creates a new mouse cursor from an XPM */
       
    36 
       
    37 
       
    38 /* XPM */
       
    39 static const char *arrow[] = {
       
    40   /* width height num_colors chars_per_pixel */
       
    41   "    32    32        3            1",
       
    42   /* colors */
       
    43   "X c #000000",
       
    44   "\&. c #ffffff",
       
    45   "  c None",
       
    46   /* pixels */
       
    47   "X                               ",
       
    48   "XX                              ",
       
    49   "X\&.X                             ",
       
    50   "X\&.\&.X                            ",
       
    51   "X\&.\&.\&.X                           ",
       
    52   "X\&.\&.\&.\&.X                          ",
       
    53   "X\&.\&.\&.\&.\&.X                         ",
       
    54   "X\&.\&.\&.\&.\&.\&.X                        ",
       
    55   "X\&.\&.\&.\&.\&.\&.\&.X                       ",
       
    56   "X\&.\&.\&.\&.\&.\&.\&.\&.X                      ",
       
    57   "X\&.\&.\&.\&.\&.XXXXX                     ",
       
    58   "X\&.\&.X\&.\&.X                         ",
       
    59   "X\&.X X\&.\&.X                        ",
       
    60   "XX  X\&.\&.X                        ",
       
    61   "X    X\&.\&.X                       ",
       
    62   "     X\&.\&.X                       ",
       
    63   "      X\&.\&.X                      ",
       
    64   "      X\&.\&.X                      ",
       
    65   "       XX                       ",
       
    66   "                                ",
       
    67   "                                ",
       
    68   "                                ",
       
    69   "                                ",
       
    70   "                                ",
       
    71   "                                ",
       
    72   "                                ",
       
    73   "                                ",
       
    74   "                                ",
       
    75   "                                ",
       
    76   "                                ",
       
    77   "                                ",
       
    78   "                                ",
       
    79   "0,0"
       
    80 };
       
    81 
       
    82 static SDL_Cursor *init_system_cursor(const char *image[])
       
    83 {
       
    84   int i, row, col;
       
    85   Uint8 data[4*32];
       
    86   Uint8 mask[4*32];
       
    87   int hot_x, hot_y;
       
    88 
       
    89   i = -1;
       
    90   for ( row=0; row<32; ++row ) {
       
    91     for ( col=0; col<32; ++col ) {
       
    92       if ( col % 8 ) {
       
    93         data[i] <<= 1;
       
    94         mask[i] <<= 1;
       
    95       } else {
       
    96         ++i;
       
    97         data[i] = mask[i] = 0;
       
    98       }
       
    99       switch (image[4+row][col]) {
       
   100         case \&'X\&':
       
   101           data[i] |= 0x01;
       
   102           k[i] |= 0x01;
       
   103           break;
       
   104         case \&'\&.\&':
       
   105           mask[i] |= 0x01;
       
   106           break;
       
   107         case \&' \&':
       
   108           break;
       
   109       }
       
   110     }
       
   111   }
       
   112   sscanf(image[4+row], "%d,%d", &hot_x, &hot_y);
       
   113   return SDL_CreateCursor(data, mask, 32, 32, hot_x, hot_y);
       
   114 }\fR
       
   115 .fi
       
   116 .PP
       
   117 .SH "SEE ALSO"
       
   118 .PP
       
   119 \fI\fBSDL_FreeCursor\fP\fR, \fI\fBSDL_SetCursor\fP\fR, \fI\fBSDL_ShowCursor\fP\fR
       
   120 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01