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

OgreWin32GLSupport.h

Go to the documentation of this file.
00001 #ifndef __OgreWin32GLSupport_H__
00002 #define __OgreWin32GLSupport_H__
00003 
00004 #include "OgreWin32Prerequisites.h"
00005 #include "OgreGLSupport.h"
00006 #include "OgreGLRenderSystem.h"
00007 
00008 namespace Ogre
00009 {
00010     
00011     class Win32GLSupport : public GLSupport
00012     {
00013     public:
00014         Win32GLSupport();
00020         void addConfig();
00021 
00022         void setConfigOption(const String &name, const String &value);
00023 
00027         String validateConfig();
00028 
00029         virtual RenderWindow* createWindow(bool autoCreateWindow, GLRenderSystem* renderSystem, const String& windowTitle = "OGRE Render Window");
00030 
00032         virtual RenderWindow* newWindow(const String &name, unsigned int width, unsigned int height, 
00033             bool fullScreen, const NameValuePairList *miscParams = 0);
00034 
00035         
00039         void start();
00043         void stop();
00044 
00048         void* getProcAddress(const String& procname);
00049 
00053         virtual void initialiseExtensions();
00054         
00055 
00056         bool selectPixelFormat(HDC hdc, int colourDepth, int multisample = 0);
00057 
00058         virtual bool supportsPBuffers();
00059         virtual GLPBuffer *createPBuffer(PixelComponentType format, size_t width, size_t height);
00060     private:
00061         // Allowed video modes
00062         std::vector<DEVMODE> mDevModes;
00063         Win32Window *mInitialWindow;
00064         std::vector<int> mFSAALevels;
00065         bool mHasPixelFormatARB;
00066 
00067         void refreshConfig();
00068         void initialiseWGL();
00069         static LRESULT CALLBACK dummyWndProc(HWND hwnd, UINT umsg, WPARAM wp, LPARAM lp);
00070     };
00071 
00072 }
00073 
00074 #endif

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:52 2006