Add opengl filter option
for opengl backend Enable poll_event in opengl backend svn-id: r8612
This commit is contained in:
parent
3883de39a9
commit
5132ca1b2f
3 changed files with 8 additions and 4 deletions
|
@ -112,6 +112,7 @@ void OSystem_SDL::load_gfx_mode() {
|
||||||
_scaler_proc = DotMatrix;
|
_scaler_proc = DotMatrix;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GFX_BILINEAR:
|
||||||
case GFX_DOUBLESIZE:
|
case GFX_DOUBLESIZE:
|
||||||
_scaleFactor = 2;
|
_scaleFactor = 2;
|
||||||
_scaler_proc = Normal2x;
|
_scaler_proc = Normal2x;
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
// Get the next event.
|
// Get the next event.
|
||||||
// Returns true if an event was retrieved.
|
// Returns true if an event was retrieved.
|
||||||
// bool poll_event(Event *event);
|
bool poll_event(Event *event);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
FB2GL fb2gl;
|
FB2GL fb2gl;
|
||||||
|
@ -119,6 +119,10 @@ void OSystem_SDL_OpenGL::load_gfx_mode() {
|
||||||
_tmpScreenWidth = (_screenWidth + 3);
|
_tmpScreenWidth = (_screenWidth + 3);
|
||||||
|
|
||||||
switch(_mode) {
|
switch(_mode) {
|
||||||
|
case GFX_BILINEAR:
|
||||||
|
_usingOpenGL = true;
|
||||||
|
_mode = GFX_NORMAL;
|
||||||
|
break;
|
||||||
case GFX_2XSAI:
|
case GFX_2XSAI:
|
||||||
_scaleFactor = 2;
|
_scaleFactor = 2;
|
||||||
_scaler_proc = _2xSaI;
|
_scaler_proc = _2xSaI;
|
||||||
|
@ -501,14 +505,13 @@ void OSystem_SDL_OpenGL::update_screen() {
|
||||||
_forceFull = false;
|
_forceFull = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
bool OSystem_SDL_OpenGL::poll_event(Event *event) {
|
bool OSystem_SDL_OpenGL::poll_event(Event *event) {
|
||||||
SDL_Event ev;
|
SDL_Event ev;
|
||||||
ev.type = 0;
|
ev.type = 0;
|
||||||
|
|
||||||
SDL_PeepEvents(&ev, 1, SDL_GETEVENT, SDL_VIDEORESIZEMASK);
|
SDL_PeepEvents(&ev, 1, SDL_GETEVENT, SDL_VIDEORESIZEMASK);
|
||||||
|
|
||||||
if (ev.type == SDL_VIDEORESIZE) {
|
if (_usingOpenGL && ev.type == SDL_VIDEORESIZE) {
|
||||||
int w = ev.resize.w;
|
int w = ev.resize.w;
|
||||||
int h = ev.resize.h;
|
int h = ev.resize.h;
|
||||||
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
|
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
|
||||||
|
@ -521,7 +524,6 @@ bool OSystem_SDL_OpenGL::poll_event(Event *event) {
|
||||||
|
|
||||||
return OSystem_SDL_Common::poll_event(event);
|
return OSystem_SDL_Common::poll_event(event);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
uint32 OSystem_SDL_OpenGL::property(int param, Property *value) {
|
uint32 OSystem_SDL_OpenGL::property(int param, Property *value) {
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,7 @@ static const struct GraphicsMode gfx_modes[] = {
|
||||||
{"advmame3x", "AdvMAME3x", GFX_ADVMAME3X},
|
{"advmame3x", "AdvMAME3x", GFX_ADVMAME3X},
|
||||||
{"tv2x", "TV2x", GFX_TV2X},
|
{"tv2x", "TV2x", GFX_TV2X},
|
||||||
{"dotmatrix", "DotMatrix", GFX_DOTMATRIX},
|
{"dotmatrix", "DotMatrix", GFX_DOTMATRIX},
|
||||||
|
{"opengl", "OpenGL", GFX_BILINEAR},
|
||||||
#else
|
#else
|
||||||
{"flipping", "Page Flipping", GFX_FLIPPING},
|
{"flipping", "Page Flipping", GFX_FLIPPING},
|
||||||
{"dbuffer", "Double Buffer", GFX_DOUBLEBUFFER},
|
{"dbuffer", "Double Buffer", GFX_DOUBLEBUFFER},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue