xbmc
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CWinSystemOSX Class Reference
Inheritance diagram for CWinSystemOSX:
Inheritance graph
[legend]
Collaboration diagram for CWinSystemOSX:
Collaboration graph
[legend]

Classes

struct  ScreenResolution
 

Public Member Functions

void OnTimeout () 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
 
bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) 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. More...
 
void MoveToScreen (unsigned int screenIdx) override
 Window was requested to move to the given screen. More...
 
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. More...
 
CGraphicContextGetGfxContext () const override
 
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
virtual CRenderSystemBaseGetRenderSystem ()
 
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. More...
 
virtual float GetDisplayLatency ()
 Get average display latency. More...
 
virtual float GetFrameLatencyAdjustment ()
 Get time that should be subtracted from the display latency for this frame in milliseconds. More...
 
KODI::WINDOWING::COSScreenSaverManagerGetOSScreenSaver ()
 Get OS screen saver inhibit implementation if available. More...
 
unsigned int GetWidth ()
 
unsigned int GetHeight ()
 
virtual bool CanDoWindowed ()
 
bool IsFullScreen ()
 
virtual bool SupportsScreenMove ()
 Check if the windowing system supports moving windows across screens. More...
 
void SetWindowResolution (int width, int height)
 
std::vector< RESOLUTION_WHRScreenResolutions (float refreshrate)
 
std::vector< REFRESHRATERefreshRates (int width, int height, uint32_t dwFlags)
 
REFRESHRATE DefaultRefreshRate (std::vector< REFRESHRATE > rates)
 
virtual bool HasCalibration (const RESOLUTION_INFO &resInfo)
 
void RegisterRenderLoop (IRenderLoop *client)
 
void UnregisterRenderLoop (IRenderLoop *client)
 
void DriveRenderLoop ()
 
virtual void * GetHWContext ()
 Get OS specific hardware context. More...
 
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 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, int > GetDitherSettings ()
 Get dither settings. More...
 

Protected Member Functions

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 Attributes

std::unique_ptr< CWinEventsOSXm_winEvents
 
std::string m_name
 
NSWindow * m_appWindow
 
OSXGLViewm_glView
 
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
 

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"
 

Member Function Documentation

◆ GetScreenId()

unsigned int CWinSystemOSX::GetScreenId ( const std::string &  screen)
overridevirtual

Get the screen ID provided the screen name.

Parameters
screenthe name of the screen as presented on the application display settings
Returns
the screen index as known by the windowing system implementation (or the default screen by default)

Reimplemented from CWinSystemBase.

◆ MoveToScreen()

void CWinSystemOSX::MoveToScreen ( unsigned int  screenIdx)
overridevirtual

Window was requested to move to the given screen.

Parameters
screenIdxthe screen index as known by the windowing system implementation

Reimplemented from CWinSystemBase.

◆ OnChangeScreen()

void CWinSystemOSX::OnChangeScreen ( unsigned int  screenIdx)
overridevirtual

Used to signal the windowing system about the change of the current screen.

Parameters
screenIdxthe screen index as known by the windowing system implementation

Reimplemented from CWinSystemBase.


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