mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-24 22:26:37 +00:00 
			
		
		
		
	* Convert window mode, vsync mode into enums, screenshot type into a struct. * Add missing doc for screenshot type.
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OPENMW_COMPONENTS_SDLUTIL_SDLVIDEOWRAPPER_H
 | |
| #define OPENMW_COMPONENTS_SDLUTIL_SDLVIDEOWRAPPER_H
 | |
| 
 | |
| #include <osg/ref_ptr>
 | |
| 
 | |
| #include <SDL_types.h>
 | |
| 
 | |
| #include "vsyncmode.hpp"
 | |
| 
 | |
| struct SDL_Window;
 | |
| 
 | |
| namespace osgViewer
 | |
| {
 | |
|     class Viewer;
 | |
| }
 | |
| 
 | |
| namespace Settings
 | |
| {
 | |
|     enum class WindowMode;
 | |
| }
 | |
| 
 | |
| namespace SDLUtil
 | |
| {
 | |
| 
 | |
|     class VideoWrapper
 | |
|     {
 | |
|     public:
 | |
|         VideoWrapper(SDL_Window* window, osg::ref_ptr<osgViewer::Viewer> viewer);
 | |
|         ~VideoWrapper();
 | |
| 
 | |
|         void setSyncToVBlank(VSyncMode vsyncMode);
 | |
| 
 | |
|         void setGammaContrast(float gamma, float contrast);
 | |
| 
 | |
|         void setVideoMode(int width, int height, Settings::WindowMode windowMode, bool windowBorder);
 | |
| 
 | |
|         void centerWindow();
 | |
| 
 | |
|     private:
 | |
|         SDL_Window* mWindow;
 | |
|         osg::ref_ptr<osgViewer::Viewer> mViewer;
 | |
| 
 | |
|         float mGamma;
 | |
|         float mContrast;
 | |
|         bool mHasSetGammaContrast;
 | |
| 
 | |
|         // Store system gamma ramp on window creation. Restore system gamma ramp on exit
 | |
|         Uint16 mOldSystemGammaRamp[256 * 3];
 | |
|     };
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif
 |