Mercurial > sdl-ios-xcode
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