source: OGRE/trunk/ogrenew/RenderSystems/GL/include/OgreWin32GLSupport.h @ 657

Revision 657, 2.1 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1#ifndef __OgreWin32GLSupport_H__
2#define __OgreWin32GLSupport_H__
3
4#include "OgreWin32Prerequisites.h"
5#include "OgreGLSupport.h"
6#include "OgreGLRenderSystem.h"
7
8namespace Ogre
9{
10   
11        class Win32GLSupport : public GLSupport
12        {
13        public:
14        Win32GLSupport();
15                /**
16                * Add any special config values to the system.
17                * Must have a "Full Screen" value that is a bool and a "Video Mode" value
18                * that is a string in the form of wxhxb
19                */
20                void addConfig();
21
22                void setConfigOption(const String &name, const String &value);
23
24                /**
25                * Make sure all the extra options are valid
26                */
27                String validateConfig();
28
29                virtual RenderWindow* createWindow(bool autoCreateWindow, GLRenderSystem* renderSystem, const String& windowTitle = "OGRE Render Window");
30
31                /// @copydoc RenderSystem::createRenderWindow
32                virtual RenderWindow* newWindow(const String &name, unsigned int width, unsigned int height,
33                        bool fullScreen, const NameValuePairList *miscParams = 0);
34
35                /// @copydoc RenderSystem::createRenderTexture
36                virtual RenderTexture * createRenderTexture( const String & name, unsigned int width, unsigned int height,
37                                TextureType texType = TEX_TYPE_2D, PixelFormat internalFormat = PF_X8R8G8B8,
38                                const NameValuePairList *miscParams = 0 );
39
40                /**
41                * Start anything special
42                */
43                void start();
44                /**
45                * Stop anything special
46                */
47                void stop();
48
49                /**
50                * Get the address of a function
51                */
52                void* getProcAddress(const String& procname);
53
54                /**
55                 * Initialise extensions
56                 */
57                virtual void initialiseExtensions();
58                /**
59                 * Initialise support specific capabilities
60                 */
61                virtual void initialiseCapabilities(RenderSystemCapabilities &caps);
62
63                bool selectPixelFormat(HDC hdc, int colourDepth, int multisample = 0);
64
65        private:
66                // Allowed video modes
67                std::vector<DEVMODE> mDevModes;
68                Win32Window *mInitialWindow;
69                std::vector<int> mFSAALevels;
70                bool mHasPixelFormatARB;
71
72                void refreshConfig();
73                void initialiseWGL();
74                static LRESULT CALLBACK dummyWndProc(HWND hwnd, UINT umsg, WPARAM wp, LPARAM lp);
75        };
76
77}
78
79#endif
Note: See TracBrowser for help on using the repository browser.