Browse Source

Work around a bug in the Android emulator that doesn't let us query the

current viewport settings.
legacy
Sam Hocevar sam 15 years ago
parent
commit
1aa3cf12c8
1 changed files with 16 additions and 0 deletions
  1. +16
    -0
      src/video.cpp

+ 16
- 0
src/video.cpp View File

@@ -26,6 +26,10 @@
namespace lol namespace lol
{ {


#if defined ANDROID_NDK
vec2i saved_viewport;
#endif

#if defined HAVE_GL_2X || defined HAVE_GLES_2X #if defined HAVE_GL_2X || defined HAVE_GLES_2X
Shader *stdshader; Shader *stdshader;
#endif #endif
@@ -96,6 +100,10 @@ void Video::Setup(int width, int height)
/* Initialise OpenGL */ /* Initialise OpenGL */
glViewport(0, 0, width, height); glViewport(0, 0, width, height);


#if defined ANDROID_NDK
saved_viewport = vec2i(width, height);
#endif

glClearColor(0.1f, 0.2f, 0.3f, 0.0f); glClearColor(0.1f, 0.2f, 0.3f, 0.0f);
glClearDepthf(1.0); glClearDepthf(1.0);


@@ -223,16 +231,24 @@ void Video::Capture(uint32_t *buffer)


int Video::GetWidth() int Video::GetWidth()
{ {
#if defined ANDROID_NDK
return saved_viewport.x;
#else
GLint v[4]; GLint v[4];
glGetIntegerv(GL_VIEWPORT, v); glGetIntegerv(GL_VIEWPORT, v);
return v[2]; return v[2];
#endif
} }


int Video::GetHeight() int Video::GetHeight()
{ {
#if defined ANDROID_NDK
return saved_viewport.y;
#else
GLint v[4]; GLint v[4];
glGetIntegerv(GL_VIEWPORT, v); glGetIntegerv(GL_VIEWPORT, v);
return v[3]; return v[3];
#endif
} }


} /* namespace lol */ } /* namespace lol */


Loading…
Cancel
Save