OpenTTD: VideoDriver_SDL Class Reference

OpenTTD

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

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Private Member Functions
VideoDriver_SDL Class Reference

The SDL video driver. More...

`#include <sdl_v.h>`

Inheritance diagram for VideoDriver_SDL:

## Public Member Functions
const char * | Start (const char *const *param)
| Start this driver.
void | Stop ()
| Stop this driver.
void | MakeDirty (int left, int top, int width, int height)
| Mark a particular area dirty.
void | MainLoop ()
| Perform the actual drawing.
bool | ChangeResolution (int w, int h)
| Change the resolution of the window.
bool | ToggleFullscreen (bool fullscreen)
| Change the full screen setting.
bool | AfterBlitterChange ()
| Callback invoked after the blitter was changed.
void | AcquireBlitterLock ()
| Acquire any lock(s) required to be held when changing blitters.
void | ReleaseBlitterLock ()
| Release any lock(s) required to be held when changing blitters.
bool | ClaimMousePointer ()
const char * | GetName () const
| Get the name of this driver.
Public Member Functions inherited from VideoDriver
virtual bool | HasGUI () const
| Whether the driver has a graphical user interface with the end user.
virtual void | EditBoxLostFocus ()
| An edit box lost the input focus.

## Private Member Functions
int | PollEvent ()
bool | CreateMainSurface (uint w, uint h)
void | SetupKeyboard ()

## Additional Inherited Members
Public Types inherited from Driver
enum | Type { DT_BEGIN = 0, DT_MUSIC = 0, DT_SOUND, DT_VIDEO, DT_END }
| The type of driver. More...
Static Public Member Functions inherited from VideoDriver
static VideoDriver * | GetInstance ()
| Get the currently active instance of the video driver.

## Detailed Description

The SDL video driver.

Definition at line 18 of file sdl_v.h.

## Member Function Documentation

void VideoDriver_SDL::AcquireBlitterLock | ( |  | ) |
| virtual

Acquire any lock(s) required to be held when changing blitters.

These lock(s) may not be acquired recursively.

Reimplemented from VideoDriver.

Definition at line 824 of file sdl_v.cpp.

References ThreadMutex::BeginCritical().

bool VideoDriver_SDL::AfterBlitterChange | ( |  | ) |
| virtual

Callback invoked after the blitter was changed.

This may only be called between AcquireBlitterLock and ReleaseBlitterLock.

Returns
  True if no error.

Reimplemented from VideoDriver.

Definition at line 819 of file sdl_v.cpp.

bool VideoDriver_SDL::ChangeResolution | ( | int | w,
|  | int | h
| ) |  |
| virtual

Change the resolution of the window.

Parameters

  w | The new width.
  h | The new height.

Returns
  True if the change succeeded.

Implements VideoDriver.

Definition at line 795 of file sdl_v.cpp.

References ThreadMutex::BeginCritical(), and ThreadMutex::EndCritical().

const char* VideoDriver_SDL::GetName | ( |  | ) | const
| inlinevirtual

Get the name of this driver.

Returns
  The name of the driver.

Implements Driver.

Definition at line 40 of file sdl_v.h.

void VideoDriver_SDL::MakeDirty | ( | int | left,
|  | int | top,
|  | int | width,
|  | int | height
| ) |  |
| virtual

Mark a particular area dirty.

Parameters

  left | The left most line of the dirty area.
  top | The top most line of the dirty area.
  width | The width of the dirty area.
  height | The height of the dirty area.

Implements VideoDriver.

Definition at line 53 of file sdl_v.cpp.

void VideoDriver_SDL::ReleaseBlitterLock | ( |  | ) |
| virtual

Release any lock(s) required to be held when changing blitters.

These lock(s) may not be acquired recursively.

Reimplemented from VideoDriver.

Definition at line 829 of file sdl_v.cpp.

References ThreadMutex::EndCritical().

const char * VideoDriver_SDL::Start | ( | const char *const * | parm | ) |
| virtual

Start this driver.

Parameters

  parm | Parameters passed to the driver.

Returns
  NULL if everything went okay, otherwise an error message.

Implements Driver.

Definition at line 621 of file sdl_v.cpp.

References _cur_resolution, _draw_threaded, DEBUG, GetDriverParam(), GetDriverParamInt(), MarkWholeScreenDirty(), and SdlOpen().

bool VideoDriver_SDL::ToggleFullscreen | ( | bool | fullscreen | ) |
| virtual

Change the full screen setting.

Parameters

  fullscreen | The new setting.

Returns
  True if the change succeeded.

Implements VideoDriver.

Definition at line 803 of file sdl_v.cpp.

References _cur_resolution, _num_resolutions, ThreadMutex::BeginCritical(), and ThreadMutex::EndCritical().

The documentation for this class was generated from the following files:

- src/video/sdl_v.h
- src/video/sdl_v.cpp