OpenTTD
Data Structures | Macros | Functions | Variables
sdl_v.cpp File Reference

Implementation of the SDL video driver. More...

#include "../stdafx.h"
#include "../openttd.h"
#include "../gfx_func.h"
#include "../sdl.h"
#include "../rev.h"
#include "../blitter/factory.hpp"
#include "../network/network.h"
#include "../thread/thread.h"
#include "../progress.h"
#include "../core/random_func.hpp"
#include "../core/math_func.hpp"
#include "../fileio_func.h"
#include "sdl_v.h"
#include <SDL.h>
#include "../safeguards.h"

Go to the source code of this file.

Data Structures

struct  VkMapping
 

Macros

#define MAX_DIRTY_RECTS   100
 
#define AS(x, z)   {x, 0, z}
 
#define AM(x, y, z, w)   {x, (byte)(y - x), z}
 

Functions

static void UpdatePalette (bool init=false)
 
static void InitPalette ()
 
static void CheckPaletteAnim ()
 
static void DrawSurfaceToScreen ()
 
static void DrawSurfaceToScreenThread (void *)
 
static void GetVideoModes ()
 
static void GetAvailableVideoMode (uint *w, uint *h)
 
static uint ConvertSdlKeyIntoMy (SDL_keysym *sym, WChar *character)
 

Variables

static FVideoDriver_SDL iFVideoDriver_SDL
 
static SDL_Surface * _sdl_screen
 
static SDL_Surface * _sdl_realscreen
 
static bool _all_modes
 
static bool _draw_threaded
 Whether the drawing is/may be done in a separate thread. More...
 
static ThreadObject_draw_thread = NULL
 Thread used to 'draw' to the screen, i.e. More...
 
static ThreadMutex_draw_mutex = NULL
 Mutex to keep the access to the shared memory controlled. More...
 
static volatile bool _draw_continue
 Should we keep continue drawing?
 
static Palette _local_palette
 
static SDL_Rect _dirty_rects [MAX_DIRTY_RECTS]
 
static int _num_dirty_rects
 
static int _use_hwpalette
 
static int _requested_hwpalette
 
static const Dimension _default_resolutions []
 
static const VkMapping _vk_mapping []
 

Detailed Description

Implementation of the SDL video driver.

Definition in file sdl_v.cpp.

Variable Documentation

◆ _default_resolutions

const Dimension _default_resolutions[]
static
Initial value:
= {
{ 640, 480},
{ 800, 600},
{1024, 768},
{1152, 864},
{1280, 800},
{1280, 960},
{1280, 1024},
{1400, 1050},
{1600, 1200},
{1680, 1050},
{1920, 1200}
}

Definition at line 190 of file sdl_v.cpp.

◆ _draw_mutex

ThreadMutex* _draw_mutex = NULL
static

Mutex to keep the access to the shared memory controlled.

Definition at line 42 of file sdl_v.cpp.

◆ _draw_thread

ThreadObject* _draw_thread = NULL
static

Thread used to 'draw' to the screen, i.e.

push data to the screen.

Definition at line 40 of file sdl_v.cpp.

◆ _draw_threaded

bool _draw_threaded
static

Whether the drawing is/may be done in a separate thread.

Definition at line 38 of file sdl_v.cpp.