#endif
GLRenderer::GLRenderer() :
- window(),
- glcontext(),
- viewport(),
- desktop_size(0, 0),
- fullscreen_active(false)
+ m_window(),
+ m_glcontext(),
+ m_viewport(),
+ m_desktop_size(0, 0),
+ m_fullscreen_active(false)
{
Renderer::instance_ = this;
SDL_DisplayMode mode;
SDL_GetCurrentDisplayMode(0, &mode);
- desktop_size = Size(mode.w, mode.h);
+ m_desktop_size = Size(mode.w, mode.h);
if(texture_manager != 0)
texture_manager->save_textures();
GLRenderer::~GLRenderer()
{
- SDL_GL_DeleteContext(glcontext);
- SDL_DestroyWindow(window);
+ SDL_GL_DeleteContext(m_glcontext);
+ SDL_DestroyWindow(m_window);
}
void
GLRenderer::flip()
{
assert_gl("drawing");
- SDL_GL_SwapWindow(window);
+ SDL_GL_SwapWindow(m_window);
}
void
apply_video_mode();
Size target_size = g_config->use_fullscreen ?
- ((g_config->fullscreen_size == Size(0, 0)) ? desktop_size : g_config->fullscreen_size) :
+ ((g_config->fullscreen_size == Size(0, 0)) ? m_desktop_size : g_config->fullscreen_size) :
g_config->window_size;
float pixel_aspect_ratio = 1.0f;
if (g_config->aspect_size != Size(0, 0))
{
- pixel_aspect_ratio = calculate_pixel_aspect_ratio(desktop_size,
+ pixel_aspect_ratio = calculate_pixel_aspect_ratio(m_desktop_size,
g_config->aspect_size);
}
else if (g_config->use_fullscreen)
{
- pixel_aspect_ratio = calculate_pixel_aspect_ratio(desktop_size,
+ pixel_aspect_ratio = calculate_pixel_aspect_ratio(m_desktop_size,
target_size);
}
g_config->magnification,
scale,
logical_size,
- viewport);
+ m_viewport);
SCREEN_WIDTH = logical_size.width;
SCREEN_HEIGHT = logical_size.height;
- if (viewport.x != 0 || viewport.y != 0)
+ if (m_viewport.x != 0 || m_viewport.y != 0)
{
// Clear both buffers so that we get a clean black border without junk
glClear(GL_COLOR_BUFFER_BIT);
- SDL_GL_SwapWindow(window);
+ SDL_GL_SwapWindow(m_window);
glClear(GL_COLOR_BUFFER_BIT);
- SDL_GL_SwapWindow(window);
+ SDL_GL_SwapWindow(m_window);
}
- glViewport(viewport.x, viewport.y, viewport.w, viewport.h);
+ glViewport(m_viewport.x, m_viewport.y, m_viewport.w, m_viewport.h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
void
GLRenderer::apply_video_mode()
{
- if (window)
+ if (m_window)
{
if (!g_config->use_fullscreen)
{
- SDL_SetWindowFullscreen(window, 0);
+ SDL_SetWindowFullscreen(m_window, 0);
}
else
{
if (g_config->fullscreen_size.width == 0 &&
g_config->fullscreen_size.height == 0)
{
- if (SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP) != 0)
+ if (SDL_SetWindowFullscreen(m_window, SDL_WINDOW_FULLSCREEN_DESKTOP) != 0)
{
log_warning << "failed to switch to desktop fullscreen mode: "
<< SDL_GetError() << std::endl;
mode.refresh_rate = g_config->fullscreen_refresh_rate;
mode.driverdata = 0;
- if (SDL_SetWindowDisplayMode(window, &mode) != 0)
+ if (SDL_SetWindowDisplayMode(m_window, &mode) != 0)
{
log_warning << "failed to set display mode: "
<< mode.w << "x" << mode.h << "@" << mode.refresh_rate << ": "
}
else
{
- if (SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN) != 0)
+ if (SDL_SetWindowFullscreen(m_window, SDL_WINDOW_FULLSCREEN) != 0)
{
log_warning << "failed to switch to fullscreen mode: "
<< mode.w << "x" << mode.h << "@" << mode.refresh_rate << ": "
if (g_config->fullscreen_size == Size(0, 0))
{
flags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
- size = desktop_size;
+ size = m_desktop_size;
}
else
{
size = g_config->window_size;
}
- window = SDL_CreateWindow("SuperTux",
+ m_window = SDL_CreateWindow("SuperTux",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
size.width, size.height,
flags);
- if (!window)
+ if (!m_window)
{
std::ostringstream msg;
msg << "Couldn't set video mode " << size.width << "x" << size.height << ": " << SDL_GetError();
}
else
{
- glcontext = SDL_GL_CreateContext(window);
+ m_glcontext = SDL_GL_CreateContext(m_window);
SCREEN_WIDTH = size.width;
SCREEN_HEIGHT = size.height;
- fullscreen_active = g_config->use_fullscreen;
+ m_fullscreen_active = g_config->use_fullscreen;
}
}
}
Vector
GLRenderer::to_logical(int physical_x, int physical_y)
{
- return Vector(static_cast<float>(physical_x - viewport.x) * SCREEN_WIDTH / viewport.w,
- static_cast<float>(physical_y - viewport.y) * SCREEN_HEIGHT / viewport.h);
+ return Vector(static_cast<float>(physical_x - m_viewport.x) * SCREEN_WIDTH / m_viewport.w,
+ static_cast<float>(physical_y - m_viewport.y) * SCREEN_HEIGHT / m_viewport.h);
}
void
{
Uint16 ramp[256];
SDL_CalculateGammaRamp(gamma, ramp);
- SDL_SetWindowGammaRamp(window, ramp, ramp, ramp);
+ SDL_SetWindowGammaRamp(m_window, ramp, ramp, ramp);
}
/* EOF */