Mouse.h
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:1k
源码类别:

游戏

开发平台:

Visual C++

  1. /*******************************************************************
  2.  *         Advanced 3D Game Programming using DirectX 7.0
  3.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  4.  *   Title: Mouse.h
  5.  *    Desc: Wrapper of a DirectInput mouse object
  6.  *          
  7.  * copyright (c) 1999 by Adrian Perez
  8.  * See license.txt for modification and distribution information
  9.  ******************************************************************/
  10. #ifndef _MOUSE_H
  11. #define _MOUSE_H
  12. #include <dinput.h>
  13. /**
  14.  * Any object that implements this interface can receive input
  15.  * from the mouse.
  16.  */
  17. struct iMouseReceiver
  18. {
  19. virtual void MouseMoved( int dx, int dy ){};
  20. virtual void MouseButtonUp( int button ){};
  21. virtual void MouseButtonDown( int button ){};
  22. };
  23. class cMouse  
  24. {
  25. LPDIRECTINPUTDEVICE8 m_pDevice; 
  26. DIMOUSESTATE m_lastState;
  27. iMouseReceiver* m_pTarget;
  28. public:
  29. cMouse( HWND hWnd, bool bExclusive );
  30. ~cMouse();
  31. /**
  32.  * Use this to establish a MouseReceiver as the current 
  33.  * input focus
  34.  */
  35. void SetReceiver( iMouseReceiver* pTarget );
  36. eResult Update();
  37. eResult Acquire();
  38. void UnAcquire();
  39. };
  40. #endif // _MOUSE_H