Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext Class Referenceabstract

#include <WinSystemWaylandEGLContext.h>

Inheritance diagram for KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext:

Public Member Functions

 CWinSystemWaylandEGLContext ()
 ~CWinSystemWaylandEGLContext () override=default
bool CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res) override
bool DestroyWindow () override
bool DestroyWindowSystem () override
bool BindTextureUploadContext () override
 Binds a shared context to the current thread, in order to upload textures asynchronously.
bool UnbindTextureUploadContext () override
 Unbinds the shared context.
bool HasContext () override
 Checks if a graphics context is already bound to the current thread.
- Public Member Functions inherited from KODI::WINDOWING::LINUX::CWinSystemEGL
 CWinSystemEGL (EGLenum platform, std::string const &platformExtension)
 ~CWinSystemEGL ()=default
EGLDisplay GetEGLDisplay () const
EGLSurface GetEGLSurface () const
EGLContext GetEGLContext () const
EGLConfig GetEGLConfig () const
- Public Member Functions inherited from KODI::WINDOWING::WAYLAND::CWinSystemWayland
 CWinSystemWayland ()
 ~CWinSystemWayland () noexcept override
const std::string GetName () override
bool InitWindowSystem () override
bool ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop) override
bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) override
void FinishModeChange (RESOLUTION res) override
void FinishWindowResize (int newWidth, int newHeight) override
bool UseLimitedColor () override
void UpdateResolutions () override
bool CanDoWindowed () override
bool Minimize () override
bool HasCursor () override
void ShowOSMouse (bool show) override
std::string GetClipboardText () override
float GetSyncOutputRefreshRate ()
float GetDisplayLatency () override
 Get average display latency.
float GetFrameLatencyAdjustment () override
 Get time that should be subtracted from the display latency for this frame in milliseconds.
std::unique_ptr< CVideoSyncGetVideoSync (CVideoReferenceClock *clock) override
void Register (IDispResource *resource) override
void Unregister (IDispResource *resource) override
CSignalRegistration RegisterOnPresentationFeedback (const PresentationFeedbackHandler &handler)
std::vector< std::string > GetConnectedOutputs () override
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 bool CenterWindow ()
virtual bool IsCreated ()
virtual void NotifyAppFocusChange (bool bGaining)
virtual void NotifyAppActiveChange (bool bActivated)
virtual bool HasInertialGestures ()
virtual int NoOfBuffers ()
virtual void ForceFullScreen (const RESOLUTION_INFO &resInfo)
 Forces the window to fullscreen provided the window resolution.
virtual bool Restore ()
virtual bool Hide ()
virtual bool Show (bool raise=true)
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 ()
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 bool HasCalibration (const RESOLUTION_INFO &resInfo)
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.
- Public Member Functions inherited from KODI::WINDOWING::WAYLAND::IInputHandler
virtual ~IInputHandler ()=default
- Public Member Functions inherited from KODI::WINDOWING::WAYLAND::IWindowDecorationHandler
virtual ~IWindowDecorationHandler ()=default
- Public Member Functions inherited from KODI::WINDOWING::WAYLAND::IShellSurfaceHandler
virtual ~IShellSurfaceHandler ()=default

Protected Member Functions

bool InitWindowSystemEGL (EGLint renderableType, EGLint apiType)
CSizeInt GetNativeWindowAttachedSize ()
void PresentFrame (bool rendered)
void SetContextSize (CSizeInt size) override
virtual bool CreateContext ()=0
- Protected Member Functions inherited from KODI::WINDOWING::WAYLAND::CWinSystemWayland
std::unique_ptr< KODI::WINDOWING::IOSScreenSaverGetOSScreenSaverImpl () override
CSizeInt GetBufferSize () const
std::unique_ptr< CConnection > const & GetConnection ()
wayland::surface_t GetMainSurface ()
IShellSurfaceGetShellSurface ()
void PrepareFramePresentation ()
void FinishFramePresentation ()
virtual IShellSurfaceCreateShellSurface (const std::string &name)
void OnConfigure (std::uint32_t serial, CSizeInt size, IShellSurface::StateBitset state) override
void OnClose () override
virtual std::unique_ptr< CSeatCreateSeat (std::uint32_t name, wayland::seat_t &seat)
- 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

wayland::egl_window_t m_nativeWindow
- Protected Attributes inherited from KODI::WINDOWING::LINUX::CWinSystemEGL
CEGLContextUtils m_eglContext
- 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

- Public Types inherited from KODI::WINDOWING::WAYLAND::CWinSystemWayland
using PresentationFeedbackHandler = std::function<void(timespec , std::uint32_t , std::uint32_t , float , std::uint64_t )>
- 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

◆ CWinSystemWaylandEGLContext()

CWinSystemWaylandEGLContext::CWinSystemWaylandEGLContext ( )

◆ ~CWinSystemWaylandEGLContext()

KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext::~CWinSystemWaylandEGLContext ( )

Member Function Documentation

◆ BindTextureUploadContext()

bool CWinSystemWaylandEGLContext::BindTextureUploadContext ( )

Binds a shared context to the current thread, in order to upload textures asynchronously.

Return true if a texture upload context exists and the binding succeeds.

Reimplemented from CWinSystemBase.

◆ CreateContext()

virtual bool KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext::CreateContext ( )
protectedpure virtual

◆ CreateNewWindow()

bool CWinSystemWaylandEGLContext::CreateNewWindow ( const std::string & name,
bool fullScreen,

◆ DestroyWindow()

bool CWinSystemWaylandEGLContext::DestroyWindow ( )

◆ DestroyWindowSystem()

bool CWinSystemWaylandEGLContext::DestroyWindowSystem ( )

◆ GetNativeWindowAttachedSize()

CSizeInt CWinSystemWaylandEGLContext::GetNativeWindowAttachedSize ( )

◆ HasContext()

bool CWinSystemWaylandEGLContext::HasContext ( )

Checks if a graphics context is already bound to the current thread.

Return true if so.

Reimplemented from CWinSystemBase.

◆ InitWindowSystemEGL()

bool CWinSystemWaylandEGLContext::InitWindowSystemEGL ( EGLint renderableType,
EGLint apiType )

Inheriting classes should override InitWindowSystem() without parameters and call this function there with appropriate parameters

◆ PresentFrame()

void CWinSystemWaylandEGLContext::PresentFrame ( bool rendered)

◆ SetContextSize()

void CWinSystemWaylandEGLContext::SetContextSize ( CSizeInt size)

◆ UnbindTextureUploadContext()

bool CWinSystemWaylandEGLContext::UnbindTextureUploadContext ( )

Unbinds the shared context.

Return true if the texture upload context has been unbound.

Reimplemented from CWinSystemBase.

Member Data Documentation

◆ m_nativeWindow

wayland::egl_window_t KODI::WINDOWING::WAYLAND::CWinSystemWaylandEGLContext::m_nativeWindow

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