3bool sgltk::initialized =
false;
5std::string sgltk::error_string =
"";
7bool sgltk::init_glew() {
8 glewExperimental=GL_TRUE;
10 sgltk::error_string = std::string(
"glewInit failed");
16bool sgltk::init_img() {
17 unsigned int flags = IMG_INIT_JPG | IMG_INIT_PNG | IMG_INIT_TIF;
18 if((IMG_Init(flags) & flags) != flags) {
19 sgltk::error_string = std::string(
"IMG_Init Error: ") +
26void sgltk::quit_img() {
30bool sgltk::init_sdl() {
31 if(SDL_Init(SDL_INIT_EVERYTHING)) {
32 sgltk::error_string = std::string(
"SDL_Init Error: ") +
39void sgltk::quit_sdl() {
44bool sgltk::init_ttf() {
46 sgltk::error_string = std::string(
"SDL_Init Error: ") +
53void sgltk::quit_ttf() {
58bool sgltk::init_lib() {
59 if(sgltk::initialized)
65 if(sgltk::init_ttf()) {
67 sgltk::initialized =
true;
69#ifdef HAVE_SDL_MIXER_H
77void sgltk::quit_lib() {
78 sgltk::initialized =
false;
86void sgltk::_check_error(std::string message, std::string file,
unsigned int line) {
87 std::string err_string;
88 GLenum err = glGetError();
92 err_string =
"INVALID_ENUM";
94 case GL_INVALID_VALUE:
95 err_string =
"INVALID_VALUE";
97 case GL_INVALID_OPERATION:
98 err_string =
"INVALID_OPERATION";
100 case GL_INVALID_FRAMEBUFFER_OPERATION:
101 err_string =
"INVALID_FRAMEBUFFER_OPERATION";
103 case GL_OUT_OF_MEMORY:
104 err_string =
"OUT_OF_MEMORY";
106 case GL_STACK_OVERFLOW:
107 err_string =
"STACK_OVERFLOW";
109 case GL_STACK_UNDERFLOW:
110 err_string =
"STACK_UNDERFLOW";
113 while(err != GL_NO_ERROR) {
114 std::cout << file <<
" - " << line <<
": " << err_string;
115 if(message.length() > 0)
116 std::cout <<
" - " << message;
117 std::cout << std::endl;