![]() |
Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
|
#include <WinSystem.h>
Public Member Functions | |
CWinSystemBase () | |
virtual | ~CWinSystemBase () |
virtual CRenderSystemBase * | GetRenderSystem () |
virtual bool | InitWindowSystem () |
virtual bool | DestroyWindowSystem () |
virtual bool | CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res)=0 |
virtual bool | DestroyWindow () |
virtual bool | ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop)=0 |
virtual bool | SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays)=0 |
virtual bool | MoveWindow (int topLeft, int topRight) |
virtual void | FinishModeChange (RESOLUTION res) |
virtual void | FinishWindowResize (int newWidth, int newHeight) |
virtual bool | CenterWindow () |
virtual bool | IsCreated () |
virtual void | NotifyAppFocusChange (bool bGaining) |
virtual void | NotifyAppActiveChange (bool bActivated) |
virtual void | ShowOSMouse (bool show) |
virtual bool | HasCursor () |
virtual bool | HasInertialGestures () |
virtual bool | UseLimitedColor () |
virtual int | NoOfBuffers () |
virtual float | GetDisplayLatency () |
virtual float | GetFrameLatencyAdjustment () |
virtual bool | Minimize () |
virtual bool | Restore () |
virtual bool | Hide () |
virtual bool | Show (bool raise=true) |
virtual std::unique_ptr< CVideoSync > | GetVideoSync (void *clock) |
virtual void | OnMove (int x, int y) |
KODI::WINDOWING::COSScreenSaverManager * | GetOSScreenSaver () |
unsigned int | GetWidth () |
unsigned int | GetHeight () |
virtual bool | CanDoWindowed () |
bool | IsFullScreen () |
virtual void | UpdateResolutions () |
void | SetWindowResolution (int width, int height) |
std::vector< RESOLUTION_WHR > | ScreenResolutions (float refreshrate) |
std::vector< REFRESHRATE > | RefreshRates (int width, int height, uint32_t dwFlags) |
REFRESHRATE | DefaultRefreshRate (std::vector< REFRESHRATE > rates) |
virtual bool | HasCalibration (const RESOLUTION_INFO &resInfo) |
virtual std::string | GetClipboardText (void) |
virtual void | Register (IDispResource *resource)=0 |
virtual void | Unregister (IDispResource *resource)=0 |
void | RegisterRenderLoop (IRenderLoop *client) |
void | UnregisterRenderLoop (IRenderLoop *client) |
void | DriveRenderLoop () |
virtual bool | MessagePump () |
CGraphicContext & | GetGfxContext () |
Static Public Member Functions | |
static std::unique_ptr< CWinSystemBase > | CreateWinSystem () |
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 |
CWinSystemBase::CWinSystemBase | ( | ) |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, KODI::WINDOWING::WAYLAND::CWinSystemWayland, and CWinSystemWin10.
|
inlinevirtual |
Reimplemented in CWinSystemWin32.
|
pure virtual |
Implemented in CWinSystemAmlogic, CWinSystemAmlogicGLESContext, CWinSystemAndroid, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbmEGLContext, CWinSystemIOS, CWinSystemOSX, CWinSystemRpi, CWinSystemRpiGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemWin10DX, CWinSystemWin32DX, CWinSystemX11, CWinSystemX11GLContext, CWinSystemWin10, and CWinSystemWin32.
|
static |
REFRESHRATE CWinSystemBase::DefaultRefreshRate | ( | std::vector< REFRESHRATE > | rates | ) |
|
inlinevirtual |
|
virtual |
Reimplemented in CWinSystemAmlogic, CWinSystemAndroid, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmEGLContext, CWinSystemIOS, CWinSystemOSX, CWinSystemRpi, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemWin10, CWinSystemWin32, CWinSystemX11, and CWinSystemX11GLContext.
void CWinSystemBase::DriveRenderLoop | ( | ) |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland.
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin32, CWinSystemX11, and CWinSystemX11GLContext.
|
virtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin32, and CWinSystemOSX.
|
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.
|
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 CWinSystemX11GLContext.
CGraphicContext & CWinSystemBase::GetGfxContext | ( | ) |
|
inline |
KODI::WINDOWING::COSScreenSaverManager * CWinSystemBase::GetOSScreenSaver | ( | ) |
Get OS screen saver inhibit implementation if available
|
inlineprotectedvirtual |
Reimplemented in CWinSystemAndroid, CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWayland, and CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSXGL, CWinSystemRpiGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemWin10DX, CWinSystemWin32DX, and CWinSystemX11GLContext.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, CWinSystemIOS, and KODI::WINDOWING::WAYLAND::CWinSystemWayland.
|
inlinevirtual |
Reimplemented in CWinSystemWin10, and CWinSystemWin32.
|
inlinevirtual |
Reimplemented in CWinSystemAmlogic, CWinSystemAndroid, KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, CWinSystemOSX, CWinSystemRpi, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
virtual |
Reimplemented in CWinSystemAmlogic, CWinSystemAmlogicGLESContext, CWinSystemAndroid, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSX, CWinSystemRpi, CWinSystemRpiGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWayland, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, CWinSystemIOS, CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
Reimplemented in CWinSystemIOS, and CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemOSX, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
inlinevirtual |
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 CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, CWinSystemOSX, CWinSystemOSXGL, CWinSystemRpiGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin10DX, CWinSystemWin32, CWinSystemWin32DX, CWinSystemX11, and CWinSystemX11GLContext.
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemOSX, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
std::vector< RESOLUTION_WHR > CWinSystemBase::ScreenResolutions | ( | float | refreshrate | ) |
|
pure virtual |
Implemented in CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, KODI::WINDOWING::GBM::CWinSystemGbm, KODI::WINDOWING::GBM::CWinSystemGbmGLContext, KODI::WINDOWING::GBM::CWinSystemGbmGLESContext, CWinSystemIOS, CWinSystemOSX, CWinSystemOSXGL, CWinSystemRpiGLESContext, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin10DX, CWinSystemWin32, CWinSystemWin32DX, CWinSystemX11, and CWinSystemX11GLContext.
void CWinSystemBase::SetWindowResolution | ( | int | width, |
int | height | ||
) |
|
inlinevirtual |
Reimplemented in CWinSystemAndroid, KODI::WINDOWING::GBM::CWinSystemGbm, CWinSystemIOS, CWinSystemOSX, CWinSystemRpi, CWinSystemWin10, CWinSystemWin32, CWinSystemX11, and CWinSystemAmlogic.
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemWin10, CWinSystemWin32, and CWinSystemX11.
|
pure virtual |
void CWinSystemBase::UnregisterRenderLoop | ( | IRenderLoop * | client | ) |
|
protected |
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |