diff engine/core/video/opengl/renderbackendopengl.cpp @ 653:01acc9fc35ea

* Moved getCurrentScreenMode() to the renderbackend as renderbackend is what initializes the screen. * Updated the Color masks to follow the integer standards * Added some new SDL modes (HW Surface and double buffer) to check for in DeviceCaps. * RenderBackend now saves the actual flags used to initialize the screen.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 15 Oct 2010 18:54:34 +0000
parents 6e2151325017
children 5d6b1820b953
line wrap: on
line diff
--- a/engine/core/video/opengl/renderbackendopengl.cpp	Fri Oct 15 15:13:10 2010 +0000
+++ b/engine/core/video/opengl/renderbackendopengl.cpp	Fri Oct 15 18:54:34 2010 +0000
@@ -76,6 +76,7 @@
 	}
 
 	Image* RenderBackendOpenGL::createMainScreen(const ScreenMode& mode, const std::string& title, const std::string& icon){
+		m_screenMode = mode;
 		unsigned int width = mode.getWidth();
 		unsigned int height = mode.getHeight();
 		unsigned char bitsPerPixel = mode.getBPP();
@@ -123,6 +124,13 @@
 			<< "Videomode " << width << "x" << height
 			<< " at " << int(bitsPerPixel) << " bpp");
 
+		//update the screen mode with the actual flags used
+
+		m_screenMode = ScreenMode(m_screenMode.getWidth(),
+		                          m_screenMode.getHeight(),
+		                          m_screenMode.getBPP(),
+		                          screen->flags);
+
 		SDL_WM_SetCaption(title.c_str(), 0);
 
 		if (!screen) {