Annotation of sbbs/include/sdl/sdl_mouse.h, revision 1.1

1.1     ! root        1: /*
        !             2:     SDL - Simple DirectMedia Layer
        !             3:     Copyright (C) 1997-2004 Sam Lantinga
        !             4: 
        !             5:     This library is free software; you can redistribute it and/or
        !             6:     modify it under the terms of the GNU Library General Public
        !             7:     License as published by the Free Software Foundation; either
        !             8:     version 2 of the License, or (at your option) any later version.
        !             9: 
        !            10:     This library is distributed in the hope that it will be useful,
        !            11:     but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            12:     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            13:     Library General Public License for more details.
        !            14: 
        !            15:     You should have received a copy of the GNU Library General Public
        !            16:     License along with this library; if not, write to the Free
        !            17:     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        !            18: 
        !            19:     Sam Lantinga
        !            20:     [email protected]
        !            21: */
        !            22: 
        !            23: #ifdef SAVE_RCSID
        !            24: static char rcsid =
        !            25:  "@(#) $Id: SDL_mouse.h,v 1.1.1.1 2005/11/18 23:23:29 rswindell Exp $";
        !            26: #endif
        !            27: 
        !            28: /* Include file for SDL mouse event handling */
        !            29: 
        !            30: #ifndef _SDL_mouse_h
        !            31: #define _SDL_mouse_h
        !            32: 
        !            33: #include "SDL_types.h"
        !            34: #include "SDL_video.h"
        !            35: 
        !            36: #include "begin_code.h"
        !            37: /* Set up for C function definitions, even when using C++ */
        !            38: #ifdef __cplusplus
        !            39: extern "C" {
        !            40: #endif
        !            41: 
        !            42: typedef struct WMcursor WMcursor;      /* Implementation dependent */
        !            43: typedef struct SDL_Cursor {
        !            44:        SDL_Rect area;                  /* The area of the mouse cursor */
        !            45:        Sint16 hot_x, hot_y;            /* The "tip" of the cursor */
        !            46:        Uint8 *data;                    /* B/W cursor data */
        !            47:        Uint8 *mask;                    /* B/W cursor mask */
        !            48:        Uint8 *save[2];                 /* Place to save cursor area */
        !            49:        WMcursor *wm_cursor;            /* Window-manager cursor */
        !            50: } SDL_Cursor;
        !            51: 
        !            52: /* Function prototypes */
        !            53: /*
        !            54:  * Retrieve the current state of the mouse.
        !            55:  * The current button state is returned as a button bitmask, which can
        !            56:  * be tested using the SDL_BUTTON(X) macros, and x and y are set to the
        !            57:  * current mouse cursor position.  You can pass NULL for either x or y.
        !            58:  */
        !            59: extern DECLSPEC Uint8 SDLCALL SDL_GetMouseState(int *x, int *y);
        !            60: 
        !            61: /*
        !            62:  * Retrieve the current state of the mouse.
        !            63:  * The current button state is returned as a button bitmask, which can
        !            64:  * be tested using the SDL_BUTTON(X) macros, and x and y are set to the
        !            65:  * mouse deltas since the last call to SDL_GetRelativeMouseState().
        !            66:  */
        !            67: extern DECLSPEC Uint8 SDLCALL SDL_GetRelativeMouseState(int *x, int *y);
        !            68: 
        !            69: /*
        !            70:  * Set the position of the mouse cursor (generates a mouse motion event)
        !            71:  */
        !            72: extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y);
        !            73: 
        !            74: /*
        !            75:  * Create a cursor using the specified data and mask (in MSB format).
        !            76:  * The cursor width must be a multiple of 8 bits.
        !            77:  *
        !            78:  * The cursor is created in black and white according to the following:
        !            79:  * data  mask    resulting pixel on screen
        !            80:  *  0     1       White
        !            81:  *  1     1       Black
        !            82:  *  0     0       Transparent
        !            83:  *  1     0       Inverted color if possible, black if not.
        !            84:  *
        !            85:  * Cursors created with this function must be freed with SDL_FreeCursor().
        !            86:  */
        !            87: extern DECLSPEC SDL_Cursor * SDLCALL SDL_CreateCursor
        !            88:                (Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y);
        !            89: 
        !            90: /*
        !            91:  * Set the currently active cursor to the specified one.
        !            92:  * If the cursor is currently visible, the change will be immediately 
        !            93:  * represented on the display.
        !            94:  */
        !            95: extern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor *cursor);
        !            96: 
        !            97: /*
        !            98:  * Returns the currently active cursor.
        !            99:  */
        !           100: extern DECLSPEC SDL_Cursor * SDLCALL SDL_GetCursor(void);
        !           101: 
        !           102: /*
        !           103:  * Deallocates a cursor created with SDL_CreateCursor().
        !           104:  */
        !           105: extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor *cursor);
        !           106: 
        !           107: /*
        !           108:  * Toggle whether or not the cursor is shown on the screen.
        !           109:  * The cursor start off displayed, but can be turned off.
        !           110:  * SDL_ShowCursor() returns 1 if the cursor was being displayed
        !           111:  * before the call, or 0 if it was not.  You can query the current
        !           112:  * state by passing a 'toggle' value of -1.
        !           113:  */
        !           114: extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);
        !           115: 
        !           116: /* Used as a mask when testing buttons in buttonstate
        !           117:    Button 1:   Left mouse button
        !           118:    Button 2:   Middle mouse button
        !           119:    Button 3:   Right mouse button
        !           120:    Button 4:   Mouse wheel up   (may also be a real button)
        !           121:    Button 5:   Mouse wheel down (may also be a real button)
        !           122:  */
        !           123: #define SDL_BUTTON(X)          (SDL_PRESSED << ((X)-1))
        !           124: #define SDL_BUTTON_LEFT                1
        !           125: #define SDL_BUTTON_MIDDLE      2
        !           126: #define SDL_BUTTON_RIGHT       3
        !           127: #define SDL_BUTTON_WHEELUP     4
        !           128: #define SDL_BUTTON_WHEELDOWN   5
        !           129: #define SDL_BUTTON_LMASK       SDL_BUTTON(SDL_BUTTON_LEFT)
        !           130: #define SDL_BUTTON_MMASK       SDL_BUTTON(SDL_BUTTON_MIDDLE)
        !           131: #define SDL_BUTTON_RMASK       SDL_BUTTON(SDL_BUTTON_RIGHT)
        !           132: 
        !           133: 
        !           134: /* Ends C function definitions when using C++ */
        !           135: #ifdef __cplusplus
        !           136: }
        !           137: #endif
        !           138: #include "close_code.h"
        !           139: 
        !           140: #endif /* _SDL_mouse_h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.