Browse Source

add option to pass SDL init flags to renInit()

render_group_fix
cinnaboot 6 years ago
parent
commit
5de92d3f1e
  1. 3
      include/renderer.h
  2. 12
      src/renderer.cpp

3
include/renderer.h

@ -57,7 +57,8 @@ struct render_state
render_state*
renInit(const char* title = "Tangerine",
glm::vec2 viewport_dims = glm::vec2(1280, 720));
glm::vec2 viewport_dims = glm::vec2(1280, 720),
Uint32 SDL_init_flags = 0);
void renShutdown(render_state* rs);

12
src/renderer.cpp

@ -34,7 +34,7 @@ bool createWindow(const char* title,
glm::vec2& viewport_dims);
bool initContext(SDL_Handles* handles);
bool initGlOptions();
bool initSDL(SDL_Handles* handles);
bool initSDL(SDL_Handles* handles, Uint32 SDL_init_flags);
bool initShaders(render_state* rs);
void openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity,
GLsizei length, const GLchar* message, const void* userParam);
@ -44,13 +44,13 @@ void setDefaults(render_state* rs, glm::vec2 viewport_dims);
// interface
render_state*
renInit(const char* title, glm::vec2 viewport_dims)
renInit(const char* title, glm::vec2 viewport_dims, Uint32 SDL_init_flags)
{
render_state* rs = UTIL_ALLOC(1, render_state);
rs->handles = UTIL_ALLOC(1, SDL_Handles);
setDefaults(rs, viewport_dims);
if (initSDL(rs->handles) &&
if (initSDL(rs->handles, SDL_init_flags) &&
createWindow(title, rs->handles, rs->viewport_dims) &&
initContext(rs->handles) &&
initGlOptions() &&
@ -242,9 +242,11 @@ initGlOptions()
}
bool
initSDL(SDL_Handles* handles)
initSDL(SDL_Handles* handles, Uint32 SDL_init_flags)
{
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
Uint32 flags = SDL_INIT_VIDEO | SDL_init_flags;
if (SDL_Init(flags) != 0) {
LOG(Error) << "Error, SDL_Init: " << SDL_GetError() << "\n";
return false;
}

Loading…
Cancel
Save