Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# OgreGLSupport.h

Go to the documentation of this file.

    00001 #ifndef OGRE_GLSUPPORT_H
    00002 #define OGRE_GLSUPPORT_H
    00003
    00004 #include "OgreGLPrerequisites.h"
    00005 #include "OgreGLRenderSystem.h"
    00006
    00007 #include "OgreRenderWindow.h"
    00008 #include "OgreConfigOptionMap.h"
    00009
    00010 namespace Ogre
    00011 {
    00012
    00013 class GLSupport
    00014 {
    00015 public:
    00016     GLSupport() { }
    00017     virtual ~GLSupport() { }
    00018
    00024     virtual void addConfig() = 0;
    00025
    00026     virtual void setConfigOption(const String &name, const String &value);
    00027
    00032     virtual String validateConfig() = 0;
    00033
    00034     virtual ConfigOptionMap& getConfigOptions(void);
    00035
    00036
    00037     virtual RenderWindow* createWindow(bool autoCreateWindow, GLRenderSystem* renderSystem, const String& windowTitle) = 0;
    00038
    00042     virtual RenderWindow* newWindow(const String& name, unsigned int width, unsigned int height, unsigned int colourDepth,
    00043             bool fullScreen, int left, int top, bool depthBuffer, RenderWindow* parentWindowHandle,
    00044             bool vsync) = 0;
    00045
    00049     virtual void start() = 0;
    00053     virtual void stop() = 0;
    00054
    00060     virtual void begin_context(RenderTarget *_target = 0)
    00061     {
    00062     }
    00063
    00067     virtual void end_context()
    00068     { }
    00069
    00073     const String& getGLVendor(void) const
    00074     {
    00075         return mVendor;
    00076     }
    00077
    00081     const String& getGLVersion(void) const
    00082     {
    00083         return mVersion;
    00084     }
    00085
    00089     bool checkMinGLVersion(const String& v) const;
    00090
    00094     virtual bool checkExtension(const String& ext) const;
    00098     virtual void* getProcAddress(const String& procname) = 0;
    00099
    00100     void setExternalWindowHandle(void* hwnd) { }
    00101
    00105     virtual void initialiseExtensions(void);
    00106
    00107     virtual void resizeRepositionWindow(void * window){m_windowToResize = window;};
    00108     virtual void resizeReposition(void*){;};  // should change to pure when it is implemented for all cases
    00109
    00110 protected:
    00111     // Stored options
    00112     ConfigOptionMap mOptions;
    00113
    00114     void *m_windowToResize;
    00115
    00116 private:
    00117     // This contains the complete list of supported extensions
    00118     std::set<String> extensionList;
    00119     String mVersion;
    00120     String mVendor;
    00121
    00122 }; // class GLSupport
    00123
    00124 }; // namespace Ogre
    00125
    00126 #endif // OGRE_GLSUPPORT_H

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:48:26 2004