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

游戏

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. /// File:    CDirectDrawGame.h
  3. /// Purpose: Declaration of CDirectDrawGame Class
  4. ///          This class represents the DirectX components required to construct
  5. ///          a simple DirectX based game..
  6. ///////////////////////////////////////////////////////////////////////////////
  7. /// Configuation Management
  8. /// 
  9. /// Who         When          Description
  10. /// ===========================================================================
  11. ///
  12. ///
  13. ///////////////////////////////////////////////////////////////////////////////
  14. #ifndef CDIRECTDRAWGAME_H_
  15. #define CDIRECTDRAWGAME_H_
  16. /// HEADER DEFINES ////////////////////////////////////////////////////////////
  17. #define WIN32_LEAN_AND_MEAN
  18. #define INITGUID
  19. /// HEADER FILE INCLUDES //////////////////////////////////////////////////////
  20. #include <windows.h>
  21. #include <windowsx.h>
  22. #include <ddraw.h>
  23. #include <dinput.h>
  24. #include <dsound.h>
  25. /// TYPE / CLASS DECLARATIONS /////////////////////////////////////////////////
  26. class CDirectDrawGame
  27. {
  28. private:
  29.    // initialization flags
  30.    bool m_init_dd_fg;
  31.    bool m_init_di_fg;
  32.    bool m_init_ds_fg;
  33.    
  34.    // DirectDraw member variables
  35.    LPDIRECTDRAW7        m_lpdd7;
  36.    LPDIRECTDRAWSURFACE7 m_lpdds_primary;
  37.    LPDIRECTDRAWSURFACE7 m_lpdds_back;
  38.    HWND m_main_hwnd;
  39.    
  40.    int m_back_buffer_cnt;
  41.    
  42.    DWORD m_screen_width;
  43.    DWORD m_screen_height;
  44.    DWORD m_screen_bpp;
  45.    
  46.    // private member functions
  47.    bool InitializeDirectDraw();
  48.    bool InitializeDirectInput();
  49.    bool InitializeDirectSound();
  50. public:
  51.    // constructors
  52.    CDirectDrawGame();
  53.    
  54.    // destructors
  55.     virtual ~CDirectDrawGame();
  56.    
  57.    
  58.    // member functions
  59.    void SetInitializationProperties(const bool p_init_dd_fg, const bool p_init_di_fg, const bool p_init_ds_fg);
  60.    virtual bool GameInitialize();
  61.    virtual bool GameShutdown();
  62.    virtual bool GameMain();
  63.    
  64.    // DirectDraw member functions
  65.    bool DrawRectangle(const RECT p_rectangle, const DWORD p_color);
  66.    bool DrawText(const RECT p_rectangle, const char* p_text);
  67.    void SetBackBufferCount(const int p_back_buffer_cnt);
  68.    void SetScreenProperties(const DWORD p_screen_width, const DWORD p_screen_height, const DWORD p_screen_bpp);
  69.    void SetWindowHandle(const HWND p_hwnd);
  70. };
  71. #endif