SDL_cursor_c.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
  4.     This library is free software; you can redistribute it and/or
  5.     modify it under the terms of the GNU Library General Public
  6.     License as published by the Free Software Foundation; either
  7.     version 2 of the License, or (at your option) any later version.
  8.     This library is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  11.     Library General Public License for more details.
  12.     You should have received a copy of the GNU Library General Public
  13.     License along with this library; if not, write to the Free
  14.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  15.     Sam Lantinga
  16.     slouken@libsdl.org
  17. */
  18. #ifdef SAVE_RCSID
  19. static char rcsid =
  20.  "@(#) $Id: SDL_cursor_c.h,v 1.4 2002/04/22 21:38:03 wmay Exp $";
  21. #endif
  22. /* Useful variables and functions from SDL_cursor.c */
  23. #include "SDL_mouse.h"
  24. extern int  SDL_CursorInit(Uint32 flags);
  25. extern void SDL_CursorPaletteChanged(void);
  26. extern void SDL_DrawCursor(SDL_Surface *screen);
  27. extern void SDL_DrawCursorNoLock(SDL_Surface *screen);
  28. extern void SDL_EraseCursor(SDL_Surface *screen);
  29. extern void SDL_EraseCursorNoLock(SDL_Surface *screen);
  30. extern void SDL_UpdateCursor(SDL_Surface *screen);
  31. extern void SDL_ResetCursor(void);
  32. extern void SDL_MoveCursor(int x, int y);
  33. extern void SDL_CursorQuit(void);
  34. #define INLINE_MOUSELOCK
  35. #ifdef INLINE_MOUSELOCK
  36. /* Inline (macro) versions of the mouse lock functions */
  37. #include "SDL_mutex.h"
  38. extern SDL_mutex *SDL_cursorlock;
  39. #define SDL_LockCursor()
  40. do {
  41. if ( SDL_cursorlock ) {
  42. SDL_mutexP(SDL_cursorlock);
  43. }
  44. } while ( 0 )
  45. #define SDL_UnlockCursor()
  46. do {
  47. if ( SDL_cursorlock ) {
  48. SDL_mutexV(SDL_cursorlock);
  49. }
  50. } while ( 0 )
  51. #else
  52. extern void SDL_LockCursor(void);
  53. extern void SDL_UnlockCursor(void);
  54. #endif /* INLINE_MOUSELOCK */
  55. /* Only for low-level mouse cursor drawing */
  56. extern SDL_Cursor *SDL_cursor;
  57. extern void SDL_MouseRect(SDL_Rect *area);
  58. /* State definitions for the SDL cursor */
  59. #define CURSOR_VISIBLE 0x01
  60. #define CURSOR_USINGSW 0x10
  61. #define SHOULD_DRAWCURSOR(X) 
  62. (((X)&(CURSOR_VISIBLE|CURSOR_USINGSW)) ==  
  63. (CURSOR_VISIBLE|CURSOR_USINGSW))
  64. extern volatile int SDL_cursorstate;