[MPlayer-cvslog] r31075 - in trunk/libvo: gl_common.c sdl_common.c sdl_common.h vo_gl.c
reimar
subversion at mplayerhq.hu
Sun Apr 25 10:35:35 CEST 2010
Author: reimar
Date: Sun Apr 25 10:35:35 2010
New Revision: 31075
Log:
Window resizing support for -vo gl with SDL backend.
Modified:
trunk/libvo/gl_common.c
trunk/libvo/sdl_common.c
trunk/libvo/sdl_common.h
trunk/libvo/vo_gl.c
Modified: trunk/libvo/gl_common.c
==============================================================================
--- trunk/libvo/gl_common.c Sun Apr 25 10:17:23 2010 (r31074)
+++ trunk/libvo/gl_common.c Sun Apr 25 10:35:35 2010 (r31075)
@@ -1855,6 +1855,8 @@ static void *sdlgpa(const GLubyte *name)
}
static int setGlWindow_sdl(MPGLContext *ctx) {
+ if (sdl_set_mode(0, SDL_OPENGL | SDL_RESIZABLE) < 0)
+ return SET_WINDOW_FAILED;
SDL_GL_LoadLibrary(NULL);
getFunctions(sdlgpa, NULL);
return SET_WINDOW_OK;
@@ -1866,6 +1868,8 @@ static int sdl_check_events(void) {
while (SDL_PollEvent(&event)) {
res |= sdl_default_handle_event(&event);
}
+ if (res & VO_EVENT_RESIZE)
+ sdl_set_mode(0, SDL_OPENGL | SDL_RESIZABLE);
return res;
}
Modified: trunk/libvo/sdl_common.c
==============================================================================
--- trunk/libvo/sdl_common.c Sun Apr 25 10:17:23 2010 (r31074)
+++ trunk/libvo/sdl_common.c Sun Apr 25 10:35:35 2010 (r31075)
@@ -26,6 +26,18 @@
#include "input/mouse.h"
#include "video_out.h"
+int sdl_set_mode(int bpp, uint32_t flags)
+{
+ SDL_Surface *s = SDL_SetVideoMode(vo_dwidth, vo_dheight, bpp, flags);
+ if (!s) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "SDL SetVideoMode failed: %s\n", SDL_GetError());
+ return -1;
+ }
+ vo_dwidth = s->w;
+ vo_dheight = s->h;
+ return 0;
+}
+
#define shift_key (event->key.keysym.mod==(KMOD_LSHIFT||KMOD_RSHIFT))
int sdl_default_handle_event(SDL_Event *event)
{
Modified: trunk/libvo/sdl_common.h
==============================================================================
--- trunk/libvo/sdl_common.h Sun Apr 25 10:17:23 2010 (r31074)
+++ trunk/libvo/sdl_common.h Sun Apr 25 10:35:35 2010 (r31075)
@@ -27,6 +27,8 @@
#else
#include <SDL.h>
#endif
+
+int sdl_set_mode(int bpp, uint32_t flags);
int sdl_default_handle_event(SDL_Event *event);
#endif
Modified: trunk/libvo/vo_gl.c
==============================================================================
--- trunk/libvo/vo_gl.c Sun Apr 25 10:17:23 2010 (r31074)
+++ trunk/libvo/vo_gl.c Sun Apr 25 10:35:35 2010 (r31075)
@@ -598,13 +598,8 @@ static int create_window(uint32_t d_widt
#endif
#ifdef CONFIG_GL_SDL
if (glctx.type == GLTYPE_SDL) {
- SDL_Surface *s = SDL_SetVideoMode(d_width, d_height, 0, SDL_OPENGL | SDL_RESIZABLE);
- if (!s) {
- mp_msg(MSGT_VO, MSGL_FATAL, "SDL SetVideoMode failed: %s\n", SDL_GetError());
- return -1;
- }
- vo_dwidth = s->w;
- vo_dheight = s->h;
+ vo_dwidth = d_width;
+ vo_dheight = d_height;
}
#endif
return 0;
More information about the MPlayer-cvslog
mailing list