Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
CWinSystemOSXGL Class Reference

#include <WinSystemOSXGL.h>

Inheritance diagram for CWinSystemOSXGL:
CWinSystemOSX CRenderSystemGL CWinSystemBase ITimerCallback CRenderSystemBase

Public Member Functions

 CWinSystemOSXGL ()=default
 ~CWinSystemOSXGL () override=default
CRenderSystemBaseGetRenderSystem () override
bool ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop) override
bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) override
- Public Member Functions inherited from CWinSystemOSX
 CWinSystemOSX ()
 ~CWinSystemOSX () override
void OnTimeout () override
bool InitWindowSystem () override
bool DestroyWindowSystem () override
bool CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res) override
bool DestroyWindow () override
void UpdateResolutions () override
bool Minimize () override
bool Restore () override
bool Hide () override
bool HasCursor () override
bool Show (bool raise=true) override
unsigned int GetScreenId (const std::string &screen) override
 Get the screen ID provided the screen name.
void MoveToScreen (unsigned int screenIdx) override
 Window was requested to move to the given screen.
void OnMove (int x, int y) override
void OnChangeScreen (unsigned int screenIdx) override
 Used to signal the windowing system about the change of the current screen.
bool HasValidResolution () const
std::string GetClipboardText () override
void Register (IDispResource *resource) override
void Unregister (IDispResource *resource) override
std::unique_ptr< CVideoSyncGetVideoSync (CVideoReferenceClock *clock) override
void WindowChangedScreen ()
void AnnounceOnLostDevice ()
void AnnounceOnResetDevice ()
void HandleOnResetDevice ()
void StartLostDeviceTimer ()
void StopLostDeviceTimer ()
int CheckDisplayChanging (uint32_t flags)
void SetFullscreenWillToggle (bool toggle)
bool GetFullscreenWillToggle ()
void SignalFullScreenStateChanged (bool fullscreenState)
CGLContextObj GetCGLContextObj ()
std::vector< std::string > GetConnectedOutputs () override
bool MessagePump () override
NSRect GetWindowDimensions ()
void enableInputEvents ()
void disableInputEvents ()
void signalMouseEntered ()
void signalMouseExited ()
void SendInputEvent (NSEvent *nsEvent)
- Public Member Functions inherited from CWinSystemBase
 CWinSystemBase ()
virtual ~CWinSystemBase ()
virtual const std::string GetName ()
virtual bool DisplayHardwareScalingEnabled ()
virtual void UpdateDisplayHardwareScaling (const RESOLUTION_INFO &resInfo)
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 HasInertialGestures ()
virtual bool UseLimitedColor ()
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.
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 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 ITimerCallback
virtual ~ITimerCallback ()=default
- Public Member Functions inherited from CRenderSystemGL
 CRenderSystemGL ()
 ~CRenderSystemGL () override
bool InitRenderSystem () override
bool DestroyRenderSystem () override
bool ResetRenderSystem (int width, int height) override
bool BeginRender () override
bool EndRender () override
void PresentRender (bool rendered, bool videoLayer) override
void InvalidateColorBuffer () override
bool ClearBuffers (UTILS::COLOR::Color color) override
bool IsExtSupported (const char *extension) const override
void SetVSync (bool vsync)
void ResetVSync ()
void SetViewPort (const CRect &viewPort) override
void GetViewPort (CRect &viewPort) override
bool ScissorsCanEffectClipping () override
CRect ClipRectToScissorRect (const CRect &rect) override
void SetScissors (const CRect &rect) override
void ResetScissors () override
void SetDepthCulling (DEPTH_CULLING culling) override
void CaptureStateBlock () override
void ApplyStateBlock () override
void SetCameraPosition (const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor=0.0f) override
void SetStereoMode (RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view) override
bool SupportsStereo (RENDER_STEREO_MODE mode) const override
bool SupportsNPOT (bool dxt) const override
void Project (float &x, float &y, float &z) override
std::string GetShaderPath (const std::string &filename) override
void GetGLVersion (int &major, int &minor)
void GetGLSLVersion (int &major, int &minor)
void ResetGLErrors ()
void EnableShader (ShaderMethodGL method)
void DisableShader ()
GLint ShaderGetPos ()
GLint ShaderGetCol ()
GLint ShaderGetCoord0 ()
GLint ShaderGetCoord1 ()
GLint ShaderGetDepth ()
GLint ShaderGetUniCol ()
GLint ShaderGetModel ()
GLint ShaderGetMatrix ()
GLint ShaderGetClip ()
GLint ShaderGetCoordStep ()
- Public Member Functions inherited from CRenderSystemBase
 CRenderSystemBase ()
virtual ~CRenderSystemBase ()
virtual void RestoreViewPort ()
void GetRenderVersion (unsigned int &major, unsigned int &minor) const
const std::string & GetRenderVendor () const
const std::string & GetRenderRenderer () const
const std::string & GetRenderVersionString () const
unsigned int GetMaxTextureSize () const
unsigned int GetMinDXTPitch () const
virtual void ShowSplash (const std::string &message)

Static Public Member Functions

static void Register ()
static std::unique_ptr< CWinSystemBaseCreateWinSystem ()
- Static Public Member Functions inherited from CWinSystemBase
static std::unique_ptr< CWinSystemBaseCreateWinSystem ()

Protected Member Functions

void PresentRenderImpl (bool rendered) override
void SetVSyncImpl (bool enable) override
- Protected Member Functions inherited from CWinSystemOSX
std::unique_ptr< KODI::WINDOWING::IOSScreenSaverGetOSScreenSaverImpl () override
ScreenResolution GetScreenResolution (unsigned long screenIdx)
void EnableVSync (bool enable)
bool SwitchToVideoMode (RESOLUTION_INFO &res)
void FillInVideoModes ()
bool FlushBuffer ()
bool DestroyWindowInternal ()
- 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 Member Functions inherited from CRenderSystemGL
void CalculateMaxTexturesize ()
void InitialiseShaders ()
void ReleaseShaders ()

Additional Inherited Members

- Static Public Attributes inherited from CWinSystemBase
static const char * SETTING_WINSYSTEM_IS_HDR_DISPLAY = "winsystem.ishdrdisplay"
- Protected Attributes inherited from CWinSystemOSX
std::unique_ptr< CWinEventsOSXm_winEvents
std::string m_name
NSWindow * m_appWindow
unsigned long m_lastDisplayNr
double m_refreshRate
CCriticalSection m_resourceSection
std::vector< IDispResource * > m_resources
CTimer m_lostDeviceTimer
bool m_delayDispReset
XbmcThreads::EndTime m_dispResetTimer
bool m_fullscreenWillToggle
bool m_hasCursor {false}
std::optional< unsigned long > m_fullScreenMovingToScreen
 Set while moving the fullscreen window to another screen. Stores the target screen id.
CCriticalSection m_critSection
- 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
- Protected Attributes inherited from CRenderSystemGL
bool m_bVsyncInit = false
int m_width
int m_height
std::string m_RenderExtensions
int m_glslMajor = 0
int m_glslMinor = 0
GLint m_viewPort [4]
std::map< ShaderMethodGL, std::unique_ptr< CGLShader > > m_pShader
ShaderMethodGL m_method = ShaderMethodGL::SM_DEFAULT
GLuint m_vertexArray = GL_NONE
- Protected Attributes inherited from CRenderSystemBase
bool m_bRenderCreated
bool m_bVSync
unsigned int m_maxTextureSize
unsigned int m_minDXTPitch
std::string m_RenderRenderer
std::string m_RenderVendor
std::string m_RenderVersion
int m_RenderVersionMinor
int m_RenderVersionMajor
bool m_limitedColorRange = false
bool m_transferPQ {false}
std::unique_ptr< CGUIImagem_splashImage
std::unique_ptr< CGUITextLayoutm_splashMessageLayout

Constructor & Destructor Documentation

◆ CWinSystemOSXGL()

CWinSystemOSXGL::CWinSystemOSXGL ( )

◆ ~CWinSystemOSXGL()

CWinSystemOSXGL::~CWinSystemOSXGL ( )

Member Function Documentation

◆ CreateWinSystem()

std::unique_ptr< CWinSystemBase > CWinSystemOSXGL::CreateWinSystem ( )

◆ GetRenderSystem()

CRenderSystemBase * CWinSystemOSXGL::GetRenderSystem ( )

Reimplemented from CWinSystemBase.

◆ PresentRenderImpl()

void CWinSystemOSXGL::PresentRenderImpl ( bool rendered)

Implements CRenderSystemGL.

◆ Register()

void CWinSystemOSXGL::Register ( )

◆ ResizeWindow()

bool CWinSystemOSXGL::ResizeWindow ( int newWidth,
int newHeight,
int newLeft,
int newTop )

Reimplemented from CWinSystemOSX.

◆ SetFullScreen()

bool CWinSystemOSXGL::SetFullScreen ( bool fullScreen,
bool blankOtherDisplays )

Reimplemented from CWinSystemOSX.

◆ SetVSyncImpl()

void CWinSystemOSXGL::SetVSyncImpl ( bool enable)

Implements CRenderSystemGL.

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