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
 
void EditBoxGainedFocus () override
 An edit box gained the input focus.
 
void EditBoxLostFocus () override
 An edit box lost the input focus. More...
 
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...
 

Private Member Functions

int PollEvent ()
 
bool CreateMainSurface (uint w, uint h, bool resize)
 
int PollEvent ()
 
bool CreateMainSurface (uint w, uint h)
 
void SetupKeyboard ()
 

Private Attributes

bool edit_box_focused
 This is true to indicate that keyboard input is in text input mode, and SDL_TEXTINPUT events are enabled.
 

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 16 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 821 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 816 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 791 of file sdl_v.cpp.

References _draw_mutex, and lock.

◆ EditBoxLostFocus()

void VideoDriver_SDL::EditBoxLostFocus ( )
overridevirtual

An edit box lost the input focus.

Abort character compositing if necessary.

Reimplemented from VideoDriver.

◆ 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 38 of file sdl_v.h.

References Driver::DT_VIDEO.

◆ 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 42 of file sdl2_v.h.

◆ 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.

Definition at line 54 of file sdl_v.cpp.

◆ 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.

◆ 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.

◆ 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.

Definition at line 826 of file sdl_v.cpp.

References _draw_mutex.

◆ 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 599 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 799 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: