The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

SDL_CreateCursor (3)
  • >> SDL_CreateCursor (3) ( Разные man: Библиотечные вызовы )
  •  

    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


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    EXAMPLE
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру