00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00025 #ifndef _LETTER_CDT_TEST_RUNNER_H_ 00026 #define _LETTER_CDT_TEST_RUNNER_H_ 00027 00028 #include "IRunner.h" 00029 #include "IMenuListener.h" 00030 #include "IKeyboardListener.h" 00031 #include "MenuEntry.h" 00032 00033 #include "LetterCDTTest2dRender.h" 00034 #include "LetterCDTTestLogic.h" 00035 00036 namespace LetterCDT 00037 { 00038 00039 enum Actions 00040 { 00041 ShowPoints, 00042 ShowOutlines, 00043 ShowTriangles, 00044 Reset 00045 }; 00046 00052 class LetterCDTTestRunner : 00053 public GlutWrapper::IRunner, public GlutWrapper::IMenuListener, public GlutWrapper::IKeyboardListener 00054 { 00055 public: 00057 LetterCDTTestRunner(void); 00058 00060 ~LetterCDTTestRunner(void); 00061 00067 void InitializeOpengl(int width, int height); 00068 00073 void Run(void); 00074 00080 void Reshape(int width, int height); 00081 00087 void ProcessMenuEvents(int option); 00088 00093 const std::vector<GlutWrapper::MenuEntry>& GetMenuEntries(void) const; 00094 00098 void ProcessNormalKeys(unsigned char key); 00099 00100 private: 00102 std::vector<GlutWrapper::MenuEntry> m_entries; 00103 00105 LetterCDTTest2dRender m_render; 00106 00108 LetterCDTTestLogic m_logic; 00109 00111 LetterCDTTestRunner(const LetterCDTTestRunner&); 00112 00114 LetterCDTTestRunner& operator=(const LetterCDTTestRunner&); 00115 00117 void Render(void); 00118 }; 00119 00120 } 00121 #endif
1.5.9