Mercurial > hg > forks > gldragon
diff gldragon.cpp @ 63:d6ffc59bb84d
Move more of the SDL and GL setup code to the renderer class.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 14 Dec 2019 20:13:32 +0200 |
parents | baccf2044289 |
children | e8100c1c5d99 |
line wrap: on
line diff
--- a/gldragon.cpp Sat Dec 14 16:39:20 2019 +0200 +++ b/gldragon.cpp Sat Dec 14 20:13:32 2019 +0200 @@ -28,11 +28,6 @@ optVSyncMode = 1; -/* Globals - */ -SDL_Window *dmWindow = NULL; - - /* Helpers */ bool dmInitSDL(DMSimpleRenderer &renderer, const int width, const int height, const char *title) @@ -49,25 +44,11 @@ } // Part 1 of initialization - if (!renderer.initRender1()) + if (!renderer.initRenderer1(title, width, height, + SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, + SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE)) return false; - // Attempt to create a window - if ((dmWindow = SDL_CreateWindow(title, - SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, - width, height, - SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE)) == NULL) - { - dmError("Could not create SDL window: %s", - SDL_GetError()); - return false; - } - - // Part 2 of initialization - if (!renderer.initRender2(dmWindow)) - return false; - - // Check if we want to attempt to use vsync switch (optVSyncMode) { @@ -105,7 +86,7 @@ } // Part 3 of initialization - if (!renderer.initRender3(width, height)) + if (!renderer.initRenderer2()) return false; dmMsg("VSync mode : %s\n", msg.c_str()); @@ -307,7 +288,7 @@ renderer.drawScene(scene, totalTime); // Draw the current frame - SDL_GL_SwapWindow(dmWindow); + renderer.swapWindow(); // Rotate for 2 degrees renderer.animate(scene, totalTime); @@ -343,9 +324,6 @@ exit: renderer.shutdownRenderer(); - if (dmWindow != NULL) - SDL_DestroyWindow(dmWindow); - SDL_Quit(); return 0;