Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
KODI::WINDOWING::X11::CWinSystemX11 Class Referenceabstract

#include <WinSystemX11.h>

Inheritance diagram for KODI::WINDOWING::X11::CWinSystemX11:
CWinSystemBase KODI::WINDOWING::X11::CWinSystemX11GLContext KODI::WINDOWING::X11::CWinSystemX11GLESContext

Public Member Functions

 CWinSystemX11 ()
 
 ~CWinSystemX11 () override
 
const std::string GetName () override
 
bool InitWindowSystem () override
 
bool DestroyWindowSystem () override
 
bool CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res) override
 
bool DestroyWindow () override
 
bool ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop) override
 
void FinishWindowResize (int newWidth, int newHeight) override
 
bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) override
 
void UpdateResolutions () override
 
void ShowOSMouse (bool show) override
 
void NotifyAppActiveChange (bool bActivated) override
 
void NotifyAppFocusChange (bool bGaining) override
 
bool Minimize () override
 
bool Restore () override
 
bool Hide () override
 
bool Show (bool raise=true) override
 
void Register (IDispResource *resource) override
 
void Unregister (IDispResource *resource) override
 
bool HasCalibration (const RESOLUTION_INFO &resInfo) override
 
bool UseLimitedColor () override
 
std::vector< std::string > GetConnectedOutputs () override
 
Display * GetDisplay ()
 
int GetScreen ()
 
void NotifyXRREvent ()
 
bool IsCurrentOutput (const std::string &output)
 
void RecreateWindow ()
 
int GetCrtc ()
 
bool MessagePump () override
 
- Public Member Functions inherited from CWinSystemBase
 CWinSystemBase ()
 
virtual ~CWinSystemBase ()
 
virtual CRenderSystemBaseGetRenderSystem ()
 
virtual bool DisplayHardwareScalingEnabled ()
 
virtual void UpdateDisplayHardwareScaling (const RESOLUTION_INFO &resInfo)
 
virtual bool MoveWindow (int topLeft, int topRight)
 
virtual void FinishModeChange (RESOLUTION res)
 
virtual bool CenterWindow ()
 
virtual bool IsCreated ()
 
virtual bool HasCursor ()
 
virtual bool HasInertialGestures ()
 
virtual int NoOfBuffers ()
 
virtual void ForceFullScreen (const RESOLUTION_INFO &resInfo)
 Forces the window to fullscreen provided the window resolution.
 
virtual float GetDisplayLatency ()
 Get average display latency.
 
virtual float GetFrameLatencyAdjustment ()
 Get time that should be subtracted from the display latency for this frame in milliseconds.
 
virtual std::unique_ptr< CVideoSyncGetVideoSync (CVideoReferenceClock *clock)
 
virtual void OnMove (int x, int y)
 
virtual unsigned int GetScreenId (const std::string &screen)
 Get the screen ID provided the screen name.
 
virtual void MoveToScreen (unsigned int screenIdx)
 Window was requested to move to the given screen.
 
virtual void OnChangeScreen (unsigned int screenIdx)
 Used to signal the windowing system about the change of the current screen.
 
KODI::WINDOWING::COSScreenSaverManagerGetOSScreenSaver ()
 Get OS screen saver inhibit implementation if available.
 
unsigned int GetWidth ()
 
unsigned int GetHeight ()
 
virtual bool CanDoWindowed ()
 
bool IsFullScreen ()
 
virtual bool SupportsScreenMove ()
 Check if the windowing system supports moving windows across screens.
 
void SetWindowResolution (int width, int height)
 
std::vector< RESOLUTION_WHRScreenResolutions (float refreshrate)
 
std::vector< REFRESHRATERefreshRates (int width, int height, uint32_t dwFlags)
 
REFRESHRATE DefaultRefreshRate (const std::vector< REFRESHRATE > &rates)
 
virtual std::string GetClipboardText (void)
 
void RegisterRenderLoop (IRenderLoop *client)
 
void UnregisterRenderLoop (IRenderLoop *client)
 
void DriveRenderLoop ()
 
virtual CGraphicContextGetGfxContext () const
 
virtual voidGetHWContext ()
 Get OS specific hardware context.
 
std::shared_ptr< CDPMSSupportGetDPMSManager ()
 
virtual bool SetHDR (const VideoPicture *videoPicture)
 Set the HDR metadata. Passing nullptr as the parameter should disable HDR.
 
virtual bool IsHDRDisplay ()
 
virtual HDR_STATUS ToggleHDR ()
 
virtual HDR_STATUS GetOSHDRStatus ()
 
virtual CHDRCapabilities GetDisplayHDRCapabilities () const
 
virtual float GetGuiSdrPeakLuminance () const
 
virtual bool HasSystemSdrPeakLuminance ()
 
virtual bool SupportsVideoSuperResolution ()
 System supports Video Super Resolution HW upscaler i.e.: "NVIDIA RTX Video Super Resolution" or "Intel Video Super Resolution".
 
virtual DEBUG_INFO_RENDER GetDebugInfo ()
 Gets debug info from video renderer for use in "Debug Info OSD" (Alt + O)
 
bool IsHDRDisplaySettingEnabled ()
 Return true when HDR display is available and enabled in settings.
 
bool IsVideoSuperResolutionSettingEnabled ()
 Return true when "Video Super Resolution" is supported and enabled in settings.
 
bool IsHighPrecisionProcessingSettingEnabled ()
 Return true when setting "High Precision Processing" is enabled.
 
std::pair< bool, intGetDitherSettings ()
 Get dither settings.
 

Protected Member Functions

std::unique_ptr< KODI::WINDOWING::IOSScreenSaverGetOSScreenSaverImpl () override
 
virtual bool SetWindow (int width, int height, bool fullscreen, const std::string &output, int *winstate=NULL)=0
 
virtual XVisualInfo * GetVisual ()=0
 
void OnLostDevice ()
 
- Protected Member Functions inherited from CWinSystemBase
void UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags)
 
void UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, int screenWidth, int screenHeight, float refreshRate, uint32_t dwFlags)
 

Protected Attributes

Window m_glWindow = 0
 
Window m_mainWindow = 0
 
int m_screen = 0
 
Display * m_dpy
 
Cursor m_invisibleCursor = 0
 
Pixmap m_icon
 
bool m_bIsRotated
 
bool m_bWasFullScreenBeforeMinimize
 
bool m_minimized
 
bool m_bIgnoreNextFocusMessage
 
CCriticalSection m_resourceSection
 
std::vector< IDispResource * > m_resources
 
bool m_delayDispReset
 
XbmcThreads::EndTime m_dispResetTimer
 
std::string m_currentOutput
 
std::string m_userOutput
 
bool m_windowDirty
 
bool m_bIsInternalXrr
 
int m_MouseX
 
int m_MouseY
 
int m_crtc
 
CWinEventsX11m_winEventsX11
 
- Protected Attributes inherited from CWinSystemBase
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::COSScreenSaverManagerm_screenSaverManager
 
CCriticalSection m_renderLoopSection
 
std::vector< IRenderLoop * > m_renderLoopClients
 
std::unique_ptr< IWinEventsm_winEvents
 
std::unique_ptr< CGraphicContextm_gfxContext
 
std::shared_ptr< CDPMSSupportm_dpms
 

Additional Inherited Members

- Static Public Member Functions inherited from CWinSystemBase
static std::unique_ptr< CWinSystemBaseCreateWinSystem ()
 
- Static Public Attributes inherited from CWinSystemBase
static const char * SETTING_WINSYSTEM_IS_HDR_DISPLAY = "winsystem.ishdrdisplay"
 

Constructor & Destructor Documentation

◆ CWinSystemX11()

CWinSystemX11::CWinSystemX11 ( )

◆ ~CWinSystemX11()

CWinSystemX11::~CWinSystemX11 ( )
overridedefault

Member Function Documentation

◆ CreateNewWindow()

bool CWinSystemX11::CreateNewWindow ( const std::string & name,
bool fullScreen,
RESOLUTION_INFO & res )
overridevirtual

◆ DestroyWindow()

bool CWinSystemX11::DestroyWindow ( )
overridevirtual

◆ DestroyWindowSystem()

bool CWinSystemX11::DestroyWindowSystem ( )
overridevirtual

◆ FinishWindowResize()

void CWinSystemX11::FinishWindowResize ( int newWidth,
int newHeight )
overridevirtual

◆ GetConnectedOutputs()

std::vector< std::string > CWinSystemX11::GetConnectedOutputs ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ GetCrtc()

int KODI::WINDOWING::X11::CWinSystemX11::GetCrtc ( )
inline

◆ GetDisplay()

Display * KODI::WINDOWING::X11::CWinSystemX11::GetDisplay ( )
inline

◆ GetName()

const std::string KODI::WINDOWING::X11::CWinSystemX11::GetName ( )
inlineoverridevirtual

Reimplemented from CWinSystemBase.

◆ GetOSScreenSaverImpl()

std::unique_ptr< KODI::WINDOWING::IOSScreenSaver > CWinSystemX11::GetOSScreenSaverImpl ( )
overrideprotectedvirtual

Reimplemented from CWinSystemBase.

◆ GetScreen()

int KODI::WINDOWING::X11::CWinSystemX11::GetScreen ( )
inline

◆ GetVisual()

virtual XVisualInfo * KODI::WINDOWING::X11::CWinSystemX11::GetVisual ( )
protectedpure virtual

◆ HasCalibration()

bool CWinSystemX11::HasCalibration ( const RESOLUTION_INFO & resInfo)
overridevirtual

Reimplemented from CWinSystemBase.

◆ Hide()

bool CWinSystemX11::Hide ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ InitWindowSystem()

bool CWinSystemX11::InitWindowSystem ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ IsCurrentOutput()

bool CWinSystemX11::IsCurrentOutput ( const std::string & output)

◆ MessagePump()

bool CWinSystemX11::MessagePump ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ Minimize()

bool CWinSystemX11::Minimize ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ NotifyAppActiveChange()

void CWinSystemX11::NotifyAppActiveChange ( bool bActivated)
overridevirtual

Reimplemented from CWinSystemBase.

◆ NotifyAppFocusChange()

void CWinSystemX11::NotifyAppFocusChange ( bool bGaining)
overridevirtual

Reimplemented from CWinSystemBase.

◆ NotifyXRREvent()

void CWinSystemX11::NotifyXRREvent ( )

◆ OnLostDevice()

void CWinSystemX11::OnLostDevice ( )
protected

◆ RecreateWindow()

void CWinSystemX11::RecreateWindow ( )

◆ Register()

void CWinSystemX11::Register ( IDispResource * resource)
overridevirtual

Implements CWinSystemBase.

◆ ResizeWindow()

bool CWinSystemX11::ResizeWindow ( int newWidth,
int newHeight,
int newLeft,
int newTop )
overridevirtual

◆ Restore()

bool CWinSystemX11::Restore ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ SetFullScreen()

bool CWinSystemX11::SetFullScreen ( bool fullScreen,
RESOLUTION_INFO & res,
bool blankOtherDisplays )
overridevirtual

◆ SetWindow()

bool CWinSystemX11::SetWindow ( int width,
int height,
bool fullscreen,
const std::string & output,
int * winstate = NULL )
protectedpure virtual

◆ Show()

bool CWinSystemX11::Show ( bool raise = true)
overridevirtual

Reimplemented from CWinSystemBase.

◆ ShowOSMouse()

void CWinSystemX11::ShowOSMouse ( bool show)
overridevirtual

Reimplemented from CWinSystemBase.

◆ Unregister()

void CWinSystemX11::Unregister ( IDispResource * resource)
overridevirtual

Implements CWinSystemBase.

◆ UpdateResolutions()

void CWinSystemX11::UpdateResolutions ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ UseLimitedColor()

bool CWinSystemX11::UseLimitedColor ( )
overridevirtual

Reimplemented from CWinSystemBase.

Member Data Documentation

◆ m_bIgnoreNextFocusMessage

bool KODI::WINDOWING::X11::CWinSystemX11::m_bIgnoreNextFocusMessage
protected

◆ m_bIsInternalXrr

bool KODI::WINDOWING::X11::CWinSystemX11::m_bIsInternalXrr
protected

◆ m_bIsRotated

bool KODI::WINDOWING::X11::CWinSystemX11::m_bIsRotated
protected

◆ m_bWasFullScreenBeforeMinimize

bool KODI::WINDOWING::X11::CWinSystemX11::m_bWasFullScreenBeforeMinimize
protected

◆ m_crtc

int KODI::WINDOWING::X11::CWinSystemX11::m_crtc
protected

◆ m_currentOutput

std::string KODI::WINDOWING::X11::CWinSystemX11::m_currentOutput
protected

◆ m_delayDispReset

bool KODI::WINDOWING::X11::CWinSystemX11::m_delayDispReset
protected

◆ m_dispResetTimer

XbmcThreads::EndTime KODI::WINDOWING::X11::CWinSystemX11::m_dispResetTimer
protected

◆ m_dpy

Display* KODI::WINDOWING::X11::CWinSystemX11::m_dpy
protected

◆ m_glWindow

Window KODI::WINDOWING::X11::CWinSystemX11::m_glWindow = 0
protected

◆ m_icon

Pixmap KODI::WINDOWING::X11::CWinSystemX11::m_icon
protected

◆ m_invisibleCursor

Cursor KODI::WINDOWING::X11::CWinSystemX11::m_invisibleCursor = 0
protected

◆ m_mainWindow

Window KODI::WINDOWING::X11::CWinSystemX11::m_mainWindow = 0
protected

◆ m_minimized

bool KODI::WINDOWING::X11::CWinSystemX11::m_minimized
protected

◆ m_MouseX

int KODI::WINDOWING::X11::CWinSystemX11::m_MouseX
protected

◆ m_MouseY

int KODI::WINDOWING::X11::CWinSystemX11::m_MouseY
protected

◆ m_resources

std::vector<IDispResource*> KODI::WINDOWING::X11::CWinSystemX11::m_resources
protected

◆ m_resourceSection

CCriticalSection KODI::WINDOWING::X11::CWinSystemX11::m_resourceSection
protected

◆ m_screen

int KODI::WINDOWING::X11::CWinSystemX11::m_screen = 0
protected

◆ m_userOutput

std::string KODI::WINDOWING::X11::CWinSystemX11::m_userOutput
protected

◆ m_windowDirty

bool KODI::WINDOWING::X11::CWinSystemX11::m_windowDirty
protected

◆ m_winEventsX11

CWinEventsX11* KODI::WINDOWING::X11::CWinSystemX11::m_winEventsX11
protected

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