![]() |
Kodi Docs 20.0
Kodi is an open source media player and entertainment hub.
|
#include <WinSystem.h>
Static Public Member Functions | |
static std::unique_ptr< CWinSystemBase > | CreateWinSystem () |
Static Public Attributes | |
static const char * | SETTING_WINSYSTEM_IS_HDR_DISPLAY = "winsystem.ishdrdisplay" |
Protected Member Functions | |
void | UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags) |
virtual std::unique_ptr< KODI::WINDOWING::IOSScreenSaver > | GetOSScreenSaverImpl () |
Protected Attributes | |
int | m_nWidth = 0 |
int | m_nHeight = 0 |
int | m_nTop = 0 |
int | m_nLeft = 0 |
bool | m_bWindowCreated = false |
bool | m_bFullScreen = false |
bool | m_bBlankOtherDisplay = false |
float | m_fRefreshRate = 0.0f |
std::unique_ptr< KODI::WINDOWING::COSScreenSaverManager > | m_screenSaverManager |
CCriticalSection | m_renderLoopSection |
std::vector< IRenderLoop * > | m_renderLoopClients |
std::unique_ptr< IWinEvents > | m_winEvents |
std::unique_ptr< CGraphicContext > | m_gfxContext |
std::shared_ptr< CDPMSSupport > | m_dpms |
CWinSystemBase::CWinSystemBase | ( | ) |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, and CWinSystemWin10.
|
inlinevirtual |
Reimplemented in CWinSystemWin32.
|
pure virtual |
Implemented in CWinSystemAndroid, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbmEGLContext, CWinSystemIOS, CWinSystemOSX, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemWin10DX, CWinSystemWin32DX, KODI::WINDOWING::X11::CWinSystemX11, KODI::WINDOWING::X11::CWinSystemX11GLContext, KODI::WINDOWING::X11::CWinSystemX11GLESContext, CWinSystemWin10, and CWinSystemWin32.
|
static |
REFRESHRATE CWinSystemBase::DefaultRefreshRate | ( | std::vector< REFRESHRATE > | rates | ) |
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, KODI::WINDOWING::GBM::CWinSystemGbmEGLContext, CWinSystemIOS, CWinSystemOSX, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, KODI::WINDOWING::X11::CWinSystemX11, KODI::WINDOWING::X11::CWinSystemX11GLContext, and KODI::WINDOWING::X11::CWinSystemX11GLESContext.
|
virtual |
Reimplemented in CWinSystemAndroid, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmEGLContext, CWinSystemIOS, CWinSystemOSX, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemWin10, CWinSystemWin32, KODI::WINDOWING::X11::CWinSystemX11, KODI::WINDOWING::X11::CWinSystemX11GLContext, and KODI::WINDOWING::X11::CWinSystemX11GLESContext.
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::GBM::CWinSystemGbm.
void CWinSystemBase::DriveRenderLoop | ( | ) |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland.
|
virtual |
Reimplemented in CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, and CWinSystemWin32.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CWinSystemWin10DX, and CWinSystemWin32DX.
|
inlinevirtual |
Reimplemented in CWinSystemAndroid.
|
inlinevirtual |
Get average display latency
The latency should be measured as the time between finishing the rendering of a frame, i.e. calling PresentRender, and the rendered content becoming visible on the screen.
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland.
std::shared_ptr< CDPMSSupport > CWinSystemBase::GetDPMSManager | ( | ) |
|
inlinevirtual |
Get time that should be subtracted from the display latency for this frame in milliseconds
Contrary to GetDisplayLatency, this value is calculated ad-hoc for the frame currently being rendered and not a value that is calculated/ averaged from past frames and their presentation times
Reimplemented in CWinSystemAndroidGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWayland, and KODI::WINDOWING::X11::CWinSystemX11GLContext.
CGraphicContext & CWinSystemBase::GetGfxContext | ( | ) |
|
inline |
|
inlinevirtual |
Get OS specific hardware context
Reimplemented in CWinSystemWin10DX, and CWinSystemWin32DX.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CWinSystemWin10DX, and CWinSystemWin32DX.
KODI::WINDOWING::COSScreenSaverManager * CWinSystemBase::GetOSScreenSaver | ( | ) |
Get OS screen saver inhibit implementation if available
|
inlineprotectedvirtual |
|
inlinevirtual |
Reimplemented in CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSXGL, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemWin10DX, CWinSystemWin32DX, KODI::WINDOWING::X11::CWinSystemX11GLContext, and KODI::WINDOWING::X11::CWinSystemX11GLESContext.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::X11::CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, CWinSystemIOS, CWinSystemTVOS, and KODI::WINDOWING::WAYLAND::CWinSystemWayland.
|
inlinevirtual |
Reimplemented in CWinSystemWin10, and CWinSystemWin32.
|
inlinevirtual |
|
virtual |
Reimplemented in CWinSystemAndroid, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSX, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemWin10, CWinSystemWin32, and KODI::WINDOWING::X11::CWinSystemX11.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, CWinSystemAndroidGLESContext, CWinSystemWin10DX, and CWinSystemWin32DX.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemTVOS, and KODI::WINDOWING::X11::CWinSystemX11.
Reimplemented in CWinSystemOSX, CWinSystemWin10, CWinSystemWin32, and KODI::WINDOWING::X11::CWinSystemX11.
Reimplemented in CWinSystemOSX, CWinSystemWin10DX, and CWinSystemWin32DX.
std::vector< REFRESHRATE > CWinSystemBase::RefreshRates | ( | int | width, |
int | height, | ||
uint32_t | dwFlags | ||
) |
|
pure virtual |
void CWinSystemBase::RegisterRenderLoop | ( | IRenderLoop * | client | ) |
|
pure virtual |
Implemented in CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, CWinSystemOSX, CWinSystemOSXGL, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin10DX, CWinSystemWin32, CWinSystemWin32DX, KODI::WINDOWING::X11::CWinSystemX11, KODI::WINDOWING::X11::CWinSystemX11GLContext, and KODI::WINDOWING::X11::CWinSystemX11GLESContext.
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemOSX, CWinSystemTVOS, CWinSystemWin10, CWinSystemWin32, and KODI::WINDOWING::X11::CWinSystemX11.
std::vector< RESOLUTION_WHR > CWinSystemBase::ScreenResolutions | ( | float | refreshrate | ) |
|
pure virtual |
Implemented in CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSX, CWinSystemOSXGL, CWinSystemTVOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin10DX, CWinSystemWin32, CWinSystemWin32DX, KODI::WINDOWING::X11::CWinSystemX11, KODI::WINDOWING::X11::CWinSystemX11GLContext, and KODI::WINDOWING::X11::CWinSystemX11GLESContext.
|
inlinevirtual |
Reimplemented in CWinSystemAndroidGLESContext.
|
inlinevirtual |
Reimplemented in CWinSystemWin10DX, and CWinSystemWin32DX.
|
pure virtual |
void CWinSystemBase::UnregisterRenderLoop | ( | IRenderLoop * | client | ) |
|
protected |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::GBM::CWinSystemGbm.
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |