slouken@libsdl.org
#include "SDL_config.h"
#include "SDL_mouse.h"
extern int SDL_CursorInit(Uint32 flags);
extern void SDL_CursorPaletteChanged(void);
extern void SDL_DrawCursor(SDL_Surface *screen);
extern void SDL_DrawCursorNoLock(SDL_Surface *screen);
extern void SDL_EraseCursor(SDL_Surface *screen);
extern void SDL_EraseCursorNoLock(SDL_Surface *screen);
extern void SDL_UpdateCursor(SDL_Surface *screen);
extern void SDL_ResetCursor(void);
extern void SDL_MoveCursor(int x, int y);
extern void SDL_CursorQuit(void);
#define INLINE_MOUSELOCK
#ifdef INLINE_MOUSELOCK
#include "SDL_mutex.h"
extern SDL_mutex *SDL_cursorlock;
#define SDL_LockCursor() \
do { \
if ( SDL_cursorlock ) { \
SDL_mutexP(SDL_cursorlock); \
} \
} while ( 0 )
#define SDL_UnlockCursor() \
do { \
if ( SDL_cursorlock ) { \
SDL_mutexV(SDL_cursorlock); \
} \
} while ( 0 )
#else
extern void SDL_LockCursor(void);
extern void SDL_UnlockCursor(void);
#endif
extern SDL_Cursor *SDL_cursor;
extern void SDL_MouseRect(SDL_Rect *area);
#define CURSOR_VISIBLE 0x01
#define CURSOR_USINGSW 0x10
#define SHOULD_DRAWCURSOR(X) \
(((X)&(CURSOR_VISIBLE|CURSOR_USINGSW)) == \
(CURSOR_VISIBLE|CURSOR_USINGSW))
extern volatile int SDL_cursorstate;