OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

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.
static ThreadObject * | _draw_thread = NULL
| Thread used to 'draw' to the screen, i.e.
static ThreadMutex * | _draw_mutex = NULL
| Mutex to keep the access to the shared memory controlled.
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

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.

ThreadMutex* _draw_mutex = NULL
| static

Mutex to keep the access to the shared memory controlled.

Definition at line 42 of file sdl_v.cpp.

Referenced by VideoDriver_SDL::MainLoop().

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.

Referenced by VideoDriver_SDL::MainLoop().

bool _draw_threaded
| static

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

Definition at line 38 of file sdl_v.cpp.

Referenced by VideoDriver_SDL::MainLoop(), and VideoDriver_SDL::Start().