![]() |
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, 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 CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemGbm, and CWinSystemIOS.
|
inlinevirtual |
Reimplemented in CWinSystemWin32.
|
pure virtual |
Implemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemX11, CWinSystemIOS, CWinSystemGbm, CWinSystemRpi, CWinSystemAmlogic, CWinSystemAndroid, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemX11GLContext, CWinSystemWin32DX, CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, CWinSystemRpiGLESContext, CWinSystemGbmEGLContext, and CWinSystemWin10DX.
|
static |
REFRESHRATE CWinSystemBase::DefaultRefreshRate | ( | std::vector< REFRESHRATE > | rates | ) |
|
inlinevirtual |
|
virtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext, CWinSystemX11, CWinSystemX11GLContext, CWinSystemIOS, CWinSystemGbm, CWinSystemRpi, CWinSystemAmlogic, CWinSystemAndroid, and CWinSystemGbmEGLContext.
void CWinSystemBase::DriveRenderLoop | ( | ) |
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemX11, and CWinSystemX11GLContext.
|
virtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, 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 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 KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemX11, and CWinSystemAndroid.
|
inlinevirtual |
Reimplemented in CWinSystemIOS, CWinSystemX11GLContext, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemGbmGLContext, CWinSystemGbmGLESContext, CWinSystemWin32DX, CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, CWinSystemOSXGL, CWinSystemRpiGLESContext, and CWinSystemWin10DX.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in CWinSystemX11.
|
inlinevirtual |
Reimplemented in KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemIOS, and CWinSystemAndroid.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, and CWinSystemWin10.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, CWinSystemGbm, CWinSystemIOS, CWinSystemX11, CWinSystemOSX, CWinSystemAndroid, CWinSystemRpi, and CWinSystemAmlogic.
|
virtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemX11, CWinSystemIOS, CWinSystemGbm, CWinSystemRpi, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGL, KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContextGLES, CWinSystemAmlogic, CWinSystemAndroid, CWinSystemGbmGLContext, CWinSystemGbmGLESContext, CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, and CWinSystemRpiGLESContext.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemIOS, CWinSystemX11, and CWinSystemAndroid.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemIOS, CWinSystemX11, and CWinSystemOSX.
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
Reimplemented in CWinSystemIOS, and CWinSystemX11.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, CWinSystemX11, and CWinSystemOSX.
|
inlinevirtual |
Reimplemented in CWinSystemOSX, CWinSystemWin32DX, and CWinSystemWin10DX.
std::vector< REFRESHRATE > CWinSystemBase::RefreshRates | ( | int | width, |
int | height, | ||
uint32_t | dwFlags | ||
) |
|
pure virtual |
void CWinSystemBase::RegisterRenderLoop | ( | IRenderLoop * | client | ) |
|
pure virtual |
Implemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemGbm, CWinSystemOSX, CWinSystemX11, CWinSystemIOS, CWinSystemX11GLContext, CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, CWinSystemRpiGLESContext, CWinSystemWin32DX, CWinSystemOSXGL, and CWinSystemWin10DX.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, CWinSystemIOS, CWinSystemX11, and CWinSystemOSX.
std::vector< RESOLUTION_WHR > CWinSystemBase::ScreenResolutions | ( | float | refreshrate | ) |
|
pure virtual |
Implemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemGbm, CWinSystemX11, CWinSystemIOS, CWinSystemX11GLContext, CWinSystemAmlogicGLESContext, CWinSystemAndroidGLESContext, CWinSystemRpiGLESContext, CWinSystemWin32DX, CWinSystemGbmGLContext, CWinSystemGbmGLESContext, CWinSystemOSXGL, and CWinSystemWin10DX.
void CWinSystemBase::SetWindowResolution | ( | int | width, |
int | height | ||
) |
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, CWinSystemGbm, CWinSystemIOS, CWinSystemX11, CWinSystemOSX, CWinSystemAndroid, CWinSystemRpi, and CWinSystemAmlogic.
|
inlinevirtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemOSX, CWinSystemIOS, and CWinSystemX11.
|
pure virtual |
void CWinSystemBase::UnregisterRenderLoop | ( | IRenderLoop * | client | ) |
|
protected |
|
virtual |
|
virtual |
Reimplemented in CWinSystemWin32, CWinSystemWin10, KODI::WINDOWING::WAYLAND::CWinSystemWayland, CWinSystemX11, and CWinSystemGbm.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |