diff src/video/bwindow/SDL_BWin.h @ 906:a48acf6ee48f

Date: Sat, 03 Jul 2004 02:23:48 +0200 From: Marcin Konicki Subject: [PATCH] Add missing functions and bring back OpenGL This patch adds missing functions: IconifyWindow GetWMInfo GL_LoadLibrary GL_GetProcAddress GL_GetAttribute GL_MakeCurrent Adding GL_* functions brings back working OpenGL in SDL for BeOS :). With addd GL_* functions there are few changes in Window class to handle changes better. Patch also fixes bug which freezed window when using MesaGL instead of BeOS r5 GL - it just needed Window->Quit() added into BE_VideoQuit(). THX to Michael Weirauch (a.k.a emwe) who worked on that bug before and found that it freezes because of lock somewhere. THX to Matti "Mictlantecuhtli" Lev��nen for testing, Rod��ric Vicaire (a.k.a. Ingenu) for OpenGL wisdom, and Stefano Ceccherini (a.k.a Jack Burton) for asking me to fix SDL on BeOS :).
author Sam Lantinga <slouken@libsdl.org>
date Sun, 18 Jul 2004 19:14:33 +0000
parents b8d311d90021
children 3bd4d7a1ee04
line wrap: on
line diff
--- a/src/video/bwindow/SDL_BWin.h	Sun Jul 18 19:05:06 2004 +0000
+++ b/src/video/bwindow/SDL_BWin.h	Sun Jul 18 19:14:33 2004 +0000
@@ -99,7 +99,7 @@
 		else 
 			SDL_PrivateResize((int)width, (int)height);
 	}
-	virtual int CreateView(Uint32 flags) {
+	virtual int CreateView(Uint32 flags, Uint32 gl_flags) {
 		int retval;
 
 		retval = 0;
@@ -107,11 +107,9 @@
 		if ( flags & SDL_OPENGL ) {
 #ifdef HAVE_OPENGL
 			if ( SDL_GLView == NULL ) {
-				/* FIXME: choose BGL type via user flags */
 				SDL_GLView = new BGLView(Bounds(), "SDL GLView",
-					 	B_FOLLOW_ALL_SIDES,
-                                        	(B_WILL_DRAW|B_FRAME_EVENTS),
-						(BGL_RGB|BGL_DOUBLE|BGL_DEPTH));
+					 	B_FOLLOW_ALL_SIDES, (B_WILL_DRAW|B_FRAME_EVENTS),
+					 	gl_flags);
 			}
 			if ( the_view != SDL_GLView ) {
 				if ( the_view ) {
@@ -207,6 +205,11 @@
 		}
 		return(true);	/* Close the app window */
 	}
+	virtual void Quit() {
+		if (!IsLocked())
+			Lock();
+		BDirectWindow::Quit();
+	}
 
 private:
 #ifdef HAVE_OPENGL