From 0ee6f948e183fe0fab022c3841443526f84f52e5 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 19 Sep 2009 05:12:26 +0000 Subject: [PATCH] Fixed bug #783 Fixed coordinate positioning with OpenGL renderer, and added a test case --- src/video/SDL_renderer_gl.c | 4 ++-- test/testsprite2.c | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/video/SDL_renderer_gl.c b/src/video/SDL_renderer_gl.c index f5329dcde..a92717bd2 100644 --- a/src/video/SDL_renderer_gl.c +++ b/src/video/SDL_renderer_gl.c @@ -450,8 +450,8 @@ GL_ActivateRenderer(SDL_Renderer * renderer) 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 --git a/test/testsprite2.c b/test/testsprite2.c index cbe70dab1..b502a9caa 100644 --- a/test/testsprite2.c +++ b/test/testsprite2.c @@ -134,10 +134,19 @@ MoveSprites(SDL_WindowID window, SDL_TextureID sprite) SDL_SetTextureAlphaMod(sprite, (Uint8) current_alpha); } - /* Move the sprite, bounce at the wall, and draw */ - n = 0; + /* 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; for (i = 0; i < num_sprites; ++i) { position = &positions[i]; velocity = &velocities[i];