- Timestamp:
- 02/20/06 19:06:03 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OGRE/trunk/ogre_changes/OgreMain/include/OgreRenderSystem.h
r316 r657 42 42 #include "OgreGpuProgram.h" 43 43 #include "OgrePlane.h" 44 #include "OgreIteratorWrappers.h" 44 45 45 46 namespace Ogre … … 173 174 virtual void setConfigOption(const String &name, const String &value) = 0; 174 175 175 virtual HardwareOcclusionQuery* createHardwareOcclusionQuery() = 0; 176 /** Create an object for performing hardware occlusion queries. 177 */ 178 virtual HardwareOcclusionQuery* createHardwareOcclusionQuery(void) = 0; 179 180 /** Destroy a hardware occlusion query object. 181 */ 182 virtual void destroyHardwareOcclusionQuery(HardwareOcclusionQuery *hq); 176 183 177 184 /** Validates the options set for the rendering system, returning a message if there are problems. … … 295 302 Description: External window handle, for embedding the OGRE context 296 303 Values: positive integer for W32 (HWND handle) 297 posint:posint:posint for GLX (display:screen:windowHandle) 304 poslong:posint:poslong (display*:screen:windowHandle) or 305 poslong:posint:poslong:poslong (display*:screen:windowHandle:XVisualInfo*) for GLX 298 306 Default: 0 (None) 299 307 ** … … 301 309 Description: Parent window handle, for embedding the OGRE context 302 310 Values: positive integer for W32 (HWND handle) 303 pos int:posint:posint for GLX (display:screen:windowHandle)311 poslong:posint:poslong for GLX (display*:screen:windowHandle) 304 312 Default: 0 (None) 305 313 ** … … 392 400 virtual RenderTarget * detachRenderTarget( const String &name ); 393 401 402 /// Iterator over RenderTargets 403 typedef MapIterator<Ogre::RenderTargetMap> RenderTargetIterator; 404 405 /** Returns a specialised MapIterator over all render targets attached to the RenderSystem. */ 406 virtual RenderTargetIterator getRenderTargetIterator(void) { 407 return RenderTargetIterator( mRenderTargets.begin(), mRenderTargets.end() ); 408 } 394 409 /** Returns a description of an error code. 395 410 */ … … 947 962 virtual Real getMaximumDepthInputValue(void) = 0; 948 963 964 /** Defines a listener on the custom events that this render system 965 can raise. 966 @see RenderSystem::addListener 967 */ 968 class _OgreExport Listener 969 { 970 public: 971 Listener() {} 972 virtual ~Listener() {} 973 974 /** A rendersystem-specific event occurred. 975 @param eventName The name of the event which has occurred 976 @param parameters A list of parameters that may belong to this event, 977 may be null if there are no parameters 978 */ 979 virtual void eventOccurred(const String& eventName, 980 const NameValuePairList* parameters = 0) = 0; 981 }; 982 /** Adds a listener to the custom events that this render system can raise. 983 @remarks 984 Some render systems have quite specific, internally generated events 985 that the application may wish to be notified of. Many applications 986 don't have to worry about these events, and can just trust OGRE to 987 handle them, but if you want to know, you can add a listener here. 988 @par 989 Events are raised very generically by string name. Perhaps the most 990 common example of a render system specific event is the loss and 991 restoration of a device in DirectX; which OGRE deals with, but you 992 may wish to know when it happens. 993 @see RenderSystem::getRenderSystemEvents 994 */ 995 virtual void addListener(Listener* l); 996 /** Remove a listener to the custom events that this render system can raise. 997 */ 998 virtual void removeListener(Listener* l); 999 1000 /** Gets a list of the rendersystem specific events that this rendersystem 1001 can raise. 1002 @see RenderSystem::addListener 1003 */ 1004 virtual const StringVector& getRenderSystemEvents(void) const { return mEventNames; } 949 1005 protected: 950 1006 … … 984 1040 985 1041 bool mInvertVertexWinding; 1042 1043 /// List of names of events this rendersystem may raise 1044 StringVector mEventNames; 1045 1046 /// Internal method for firing a rendersystem event 1047 virtual void fireEvent(const String& name, const NameValuePairList* params = 0); 1048 1049 typedef std::list<Listener*> ListenerList; 1050 ListenerList mEventListeners; 1051 1052 typedef std::list<HardwareOcclusionQuery*> HardwareOcclusionQueryList; 1053 HardwareOcclusionQueryList mHwOcclusionQueries; 1054 1055 986 1056 }; 987 1057 }
Note: See TracChangeset
for help on using the changeset viewer.