OpenTTD
VideoDriver_SDL Class Reference

The SDL video driver. More...

#include <sdl2_v.h>

Inheritance diagram for VideoDriver_SDL:
VideoDriver VideoDriver Driver Driver

Public Member Functions

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

Private Member Functions

int PollEvent ()
 
bool CreateMainSurface (uint w, uint h, bool resize)
 
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 VideoDriverGetInstance ()
 Get the currently active instance of the video driver.
 

Detailed Description

The SDL video driver.

Definition at line 18 of file sdl2_v.h.

Member Function Documentation

◆ AcquireBlitterLock() [1/2]

void VideoDriver_SDL::AcquireBlitterLock ( )
overridevirtual

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 823 of file sdl_v.cpp.

References _draw_mutex.

◆ AcquireBlitterLock() [2/2]

void VideoDriver_SDL::AcquireBlitterLock ( )
overridevirtual

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

These lock(s) may not be acquired recursively.

Reimplemented from VideoDriver.

◆ AfterBlitterChange() [1/2]

bool VideoDriver_SDL::AfterBlitterChange ( )
overridevirtual

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 818 of file sdl_v.cpp.

◆ AfterBlitterChange() [2/2]

bool VideoDriver_SDL::AfterBlitterChange ( )
overridevirtual

Callback invoked after the blitter was changed.

This may only be called between AcquireBlitterLock and ReleaseBlitterLock.

Returns
True if no error.

Reimplemented from VideoDriver.

◆ ChangeResolution() [1/2]

bool VideoDriver_SDL::ChangeResolution ( int  w,
int  h 
)
overridevirtual

Change the resolution of the window.

Parameters
wThe new width.
hThe new height.
Returns
True if the change succeeded.

Implements VideoDriver.

◆ ChangeResolution() [2/2]

bool VideoDriver_SDL::ChangeResolution ( int  w,
int  h 
)
overridevirtual

Change the resolution of the window.

Parameters
wThe new width.
hThe new height.
Returns
True if the change succeeded.

Implements VideoDriver.

Definition at line 793 of file sdl_v.cpp.

References _draw_mutex, and lock.

◆ GetName() [1/2]

const char* VideoDriver_SDL::GetName ( ) const
inlineoverridevirtual

Get the name of this driver.

Returns
The name of the driver.

Implements Driver.

Definition at line 40 of file sdl2_v.h.

◆ GetName() [2/2]

const char* VideoDriver_SDL::GetName ( ) const
inlineoverridevirtual

Get the name of this driver.

Returns
The name of the driver.

Implements Driver.

Definition at line 40 of file sdl_v.h.

References Driver::DT_VIDEO.

◆ MakeDirty() [1/2]

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

Mark a particular area dirty.

Parameters
leftThe left most line of the dirty area.
topThe top most line of the dirty area.
widthThe width of the dirty area.
heightThe height of the dirty area.

Implements VideoDriver.

◆ MakeDirty() [2/2]

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

Mark a particular area dirty.

Parameters
leftThe left most line of the dirty area.
topThe top most line of the dirty area.
widthThe width of the dirty area.
heightThe height of the dirty area.

Implements VideoDriver.

Definition at line 56 of file sdl_v.cpp.

◆ ReleaseBlitterLock() [1/2]

void VideoDriver_SDL::ReleaseBlitterLock ( )
overridevirtual

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 828 of file sdl_v.cpp.

References _draw_mutex.

◆ ReleaseBlitterLock() [2/2]

void VideoDriver_SDL::ReleaseBlitterLock ( )
overridevirtual

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

These lock(s) may not be acquired recursively.

Reimplemented from VideoDriver.

◆ Start() [1/2]

const char* VideoDriver_SDL::Start ( const char *const *  parm)
overridevirtual

Start this driver.

Parameters
parmParameters passed to the driver.
Returns
nullptr if everything went okay, otherwise an error message.

Implements Driver.

◆ Start() [2/2]

const char * VideoDriver_SDL::Start ( const char *const *  parm)
overridevirtual

Start this driver.

Parameters
parmParameters passed to the driver.
Returns
nullptr if everything went okay, otherwise an error message.

Implements Driver.

Definition at line 601 of file sdl_v.cpp.

◆ ToggleFullscreen() [1/2]

bool VideoDriver_SDL::ToggleFullscreen ( bool  fullscreen)
overridevirtual

Change the full screen setting.

Parameters
fullscreenThe new setting.
Returns
True if the change succeeded.

Implements VideoDriver.

Definition at line 801 of file sdl_v.cpp.

◆ ToggleFullscreen() [2/2]

bool VideoDriver_SDL::ToggleFullscreen ( bool  fullscreen)
overridevirtual

Change the full screen setting.

Parameters
fullscreenThe new setting.
Returns
True if the change succeeded.

Implements VideoDriver.


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