29 #ifndef _GG_OgreGUI_h_
30 #define _GG_OgreGUI_h_
37 #undef TCP_NOTIFY_THRESHOLD
38 #undef TCP_ABORT_THRESHOLD
39 #undef TCP_CONN_NOTIFY_THRESHOLD
40 #undef TCP_CONN_ABORT_THRESHOLD
42 #undef TCP_URGENT_PTR_TYPE
44 #include <Carbon/Carbon.h>
47 #include <OgreDataStream.h>
48 #include <OgreRenderTargetListener.h>
49 #include <OgreSharedPtr.h>
50 #include <OgreTimer.h>
51 #include <OgreWindowEventUtilities.h>
57 # ifdef GiGiOgre_EXPORTS
58 # define GG_OGRE_API __declspec(dllexport)
60 # define GG_OGRE_API __declspec(dllimport)
125 public Ogre::RenderTargetListener,
126 public Ogre::WindowEventListener
132 explicit OgreGUI(Ogre::RenderWindow* window,
const std::string& config_filename =
"");
138 virtual boost::shared_ptr<ModalEventPump> CreateModalEventPump(
bool& done);
140 virtual unsigned int Ticks()
const;
141 virtual X AppWidth()
const;
142 virtual Y AppHeight()
const;
147 const Ogre::SharedPtr<Ogre::DataStream>& ConfigFileStream()
const;
149 virtual void Exit(
int code);
166 virtual void RenderBegin();
167 virtual void RenderEnd();
169 virtual void HandleSystemEvents();
170 virtual void Enter2DMode();
171 virtual void Exit2DMode();
174 virtual void postRenderTargetUpdate(
const Ogre::RenderTargetEvent& event);
175 virtual void windowResized(Ogre::RenderWindow* window);
176 virtual void windowClosed(Ogre::RenderWindow* window);
178 Ogre::RenderWindow* m_window;
179 mutable Ogre::Timer m_timer;
180 Ogre::SharedPtr<Ogre::DataStream> m_config_file_data;