# HG changeset patch # User Sam Lantinga # Date 1253337146 0 # Node ID 8fe0806637dfb28275a43e4bcbc9c2271f38711f # Parent 924b486541dc0ba81cd0d64f15810b73f97843ac Fixed bug #783 Fixed coordinate positioning with OpenGL renderer, and added a test case diff -r 924b486541dc -r 8fe0806637df src/video/SDL_renderer_gl.c --- a/src/video/SDL_renderer_gl.c Sat Sep 19 04:47:36 2009 +0000 +++ b/src/video/SDL_renderer_gl.c Sat Sep 19 05:12:26 2009 +0000 @@ -450,8 +450,8 @@ data->glMatrixMode(GL_MODELVIEW); data->glLoadIdentity(); data->glViewport(0, 0, window->w, window->h); - data->glOrtho(0.0, (GLdouble) window->w, (GLdouble) window->h, 0.0, - 0.0, 1.0); + data->glOrtho(-0.5, (GLdouble) window->w-0.5, + (GLdouble) window->h-0.5, -0.5, 0.0, 1.0); data->updateSize = SDL_FALSE; } return 0; diff -r 924b486541dc -r 8fe0806637df test/testsprite2.c --- a/test/testsprite2.c Sat Sep 19 04:47:36 2009 +0000 +++ b/test/testsprite2.c Sat Sep 19 05:12:26 2009 +0000 @@ -134,10 +134,19 @@ SDL_SetTextureAlphaMod(sprite, (Uint8) current_alpha); } + /* Draw a gray background */ + SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); + SDL_RenderFill(NULL); + + /* Draw two red points to make sure they show up correctly */ + SDL_SetRenderDrawColor(0xFF, 0x00, 0x00, 0xFF); + SDL_RenderPoint(0, 0); + SDL_RenderPoint(window_w-1, 0); + SDL_RenderPoint(0, window_h-1); + SDL_RenderPoint(window_w-1, window_h-1); + /* Move the sprite, bounce at the wall, and draw */ n = 0; - SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); - SDL_RenderFill(NULL); for (i = 0; i < num_sprites; ++i) { position = &positions[i]; velocity = &velocities[i];