home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Extras / Sensaura / SDK1.0 / data1.cab / Example_Files / DS3DDemo / Source / applicat.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-13  |  1.6 KB  |  63 lines

  1. /*
  2.     Company:            Sensaura
  3.     Copyright:          (C) 1998
  4.  
  5.     File Name:            applicat.h
  6.     File Description:    Header file for definition of Application class
  7.     Author:                Adam Philp
  8.     Version:            1.01.000
  9.     Last Update:        01-DEC-98
  10.  
  11.     Target Compiler:    Microsoft Visual C++ Version 5.0
  12. */
  13.  
  14. #ifndef __applicat_h
  15. #define __applicat_h
  16.  
  17. ///////////////////////    Included files ////////////////////////////////////////////////////////////
  18.  
  19. #include "window.h"
  20.  
  21. ///////////////////////    Class declarations ////////////////////////////////////////////////////////
  22.  
  23. /*
  24.     Class:                Application
  25.     Description:        Generic windows application class
  26. */
  27.  
  28. class Application 
  29. {
  30. public:                                    // Public constructor and destructor
  31.     Application(LPCSTR, HINSTANCE, HINSTANCE, LPSTR, int);
  32.     virtual ~Application();
  33.  
  34. public:                                    // Public member functions
  35.     int                Run();
  36.     HINSTANCE        GetInstance() const { return m_hInstance; }
  37.     Window*            GetMainWindow() const { return m_hMainWindow; }
  38.  
  39. protected:                                // Protected member functions
  40.     virtual void    InitApplication();
  41.     virtual void    InitInstance();
  42.     virtual void    InitMainWindow();
  43.     virtual int        MessageLoop();
  44.     virtual bool    PreProcessMsg(MSG&);
  45.     virtual bool    IdleAction(long idleCount);
  46.  
  47. private:                                // Private member functions
  48.  
  49. public:                                    // Public data members
  50.  
  51. protected:                                // Protected data members
  52.     Window*            m_hMainWindow;
  53.     HACCEL            m_hAccelTable;
  54.  
  55. private:                                // Private data members
  56.     int                m_nCmdShow;
  57.     HINSTANCE        m_hInstance;
  58.     HINSTANCE        m_hPrevInstance;
  59.     LPCSTR            m_pName;
  60. };
  61.  
  62. #endif
  63.