Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CWinSystemOSX Class Reference

#include <WinSystemOSX.h>

Inheritance diagram for CWinSystemOSX:
CWinSystemBase ITimerCallback CWinSystemOSXGL

Public Member Functions

 CWinSystemOSX ()
 
virtual ~CWinSystemOSX ()
 
virtual void OnTimeout () override
 
virtual bool InitWindowSystem () override
 
virtual bool DestroyWindowSystem () override
 
virtual bool CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res) override
 
virtual bool DestroyWindow () override
 
virtual bool ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop) override
 
bool ResizeWindowInternal (int newWidth, int newHeight, int newLeft, int newTop, void *additional)
 
virtual bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) override
 
virtual void UpdateResolutions () override
 
virtual void NotifyAppFocusChange (bool bGaining) override
 
virtual void ShowOSMouse (bool show) override
 
virtual bool Minimize () override
 
virtual bool Restore () override
 
virtual bool Hide () override
 
virtual bool Show (bool raise=true) override
 
virtual void OnMove (int x, int y) override
 
virtual std::string GetClipboardText (void) override
 
void Register (IDispResource *resource) override
 
void Unregister (IDispResource *resource) override
 
virtual std::unique_ptr< CVideoSyncGetVideoSync (void *clock) override
 
void WindowChangedScreen ()
 
void AnnounceOnLostDevice ()
 
void AnnounceOnResetDevice ()
 
void HandleOnResetDevice ()
 
void StartLostDeviceTimer ()
 
void StopLostDeviceTimer ()
 
voidGetCGLContextObj ()
 
voidGetNSOpenGLContext ()
 
void GetConnectedOutputs (std::vector< std::string > *outputs)
 
bool MessagePump () override
 
- Public Member Functions inherited from CWinSystemBase
 CWinSystemBase ()
 
virtual ~CWinSystemBase ()
 
virtual CRenderSystemBaseGetRenderSystem ()
 
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 NotifyAppActiveChange (bool bActivated)
 
virtual bool HasCursor ()
 
virtual bool HasInertialGestures ()
 
virtual bool UseLimitedColor ()
 
virtual int NoOfBuffers ()
 
virtual float GetDisplayLatency ()
 
virtual float GetFrameLatencyAdjustment ()
 
KODI::WINDOWING::COSScreenSaverManagerGetOSScreenSaver ()
 
unsigned int GetWidth ()
 
unsigned int GetHeight ()
 
virtual bool CanDoWindowed ()
 
bool IsFullScreen ()
 
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 ()
 
CGraphicContextGetGfxContext ()
 
- Public Member Functions inherited from ITimerCallback
virtual ~ITimerCallback ()=default
 

Protected Member Functions

virtual std::unique_ptr< KODI::WINDOWING::IOSScreenSaverGetOSScreenSaverImpl () override
 
void HandlePossibleRefreshrateChange ()
 
voidCreateWindowedContext (void *shareCtx)
 
voidCreateFullScreenContext (int screen_index, void *shareCtx)
 
void GetScreenResolution (int *w, int *h, double *fps, int screenIdx)
 
void EnableVSync (bool enable)
 
bool SwitchToVideoMode (int width, int height, double refreshrate)
 
void FillInVideoModes ()
 
bool FlushBuffer (void)
 
bool IsObscured (void)
 
void StartTextInput ()
 
void StopTextInput ()
 
- Protected Member Functions inherited from CWinSystemBase
void UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags)
 

Protected Attributes

voidm_glContext
 
SDL_Surfacem_SDLSurface
 
CWinEventsOSXm_osx_events
 
bool m_obscured
 
unsigned int m_obscured_timecheck
 
bool m_movedToOtherScreen
 
int m_lastDisplayNr
 
voidm_windowDidMove
 
voidm_windowDidReSize
 
voidm_windowChangedScreen
 
double m_refreshRate
 
CCriticalSection m_resourceSection
 
std::vector< IDispResource * > m_resources
 
CTimer m_lostDeviceTimer
 
bool m_delayDispReset
 
XbmcThreads::EndTime m_dispResetTimer
 
int m_updateGLContext = 0
 
- 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
 

Static Protected Attributes

static voidm_lastOwnedContext = 0
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ CWinSystemOSX()

CWinSystemOSX::CWinSystemOSX ( )

◆ ~CWinSystemOSX()

CWinSystemOSX::~CWinSystemOSX ( )
virtual

Member Function Documentation

◆ AnnounceOnLostDevice()

void CWinSystemOSX::AnnounceOnLostDevice ( )

◆ AnnounceOnResetDevice()

void CWinSystemOSX::AnnounceOnResetDevice ( )

◆ CreateFullScreenContext()

void * CWinSystemOSX::CreateFullScreenContext ( int  screen_index,
void shareCtx 
)
protected

◆ CreateNewWindow()

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

Implements CWinSystemBase.

◆ CreateWindowedContext()

void * CWinSystemOSX::CreateWindowedContext ( void shareCtx)
protected

◆ DestroyWindow()

bool CWinSystemOSX::DestroyWindow ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ DestroyWindowSystem()

bool CWinSystemOSX::DestroyWindowSystem ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ EnableVSync()

void CWinSystemOSX::EnableVSync ( bool  enable)
protected

◆ FillInVideoModes()

void CWinSystemOSX::FillInVideoModes ( )
protected

◆ FlushBuffer()

bool CWinSystemOSX::FlushBuffer ( void  )
protected

◆ GetCGLContextObj()

void * CWinSystemOSX::GetCGLContextObj ( )

◆ GetClipboardText()

std::string CWinSystemOSX::GetClipboardText ( void  )
overridevirtual

Reimplemented from CWinSystemBase.

◆ GetConnectedOutputs()

void CWinSystemOSX::GetConnectedOutputs ( std::vector< std::string > *  outputs)

◆ GetNSOpenGLContext()

void * CWinSystemOSX::GetNSOpenGLContext ( )

◆ GetOSScreenSaverImpl()

std::unique_ptr< IOSScreenSaver > CWinSystemOSX::GetOSScreenSaverImpl ( )
overrideprotectedvirtual

Reimplemented from CWinSystemBase.

◆ GetScreenResolution()

void CWinSystemOSX::GetScreenResolution ( int *  w,
int *  h,
double *  fps,
int  screenIdx 
)
protected

◆ GetVideoSync()

std::unique_ptr< CVideoSync > CWinSystemOSX::GetVideoSync ( void clock)
overridevirtual

Reimplemented from CWinSystemBase.

◆ HandleOnResetDevice()

void CWinSystemOSX::HandleOnResetDevice ( )

◆ HandlePossibleRefreshrateChange()

void CWinSystemOSX::HandlePossibleRefreshrateChange ( )
protected

◆ Hide()

bool CWinSystemOSX::Hide ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ InitWindowSystem()

bool CWinSystemOSX::InitWindowSystem ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ IsObscured()

bool CWinSystemOSX::IsObscured ( void  )
protected

◆ MessagePump()

bool CWinSystemOSX::MessagePump ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ Minimize()

bool CWinSystemOSX::Minimize ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ NotifyAppFocusChange()

void CWinSystemOSX::NotifyAppFocusChange ( bool  bGaining)
overridevirtual

Reimplemented from CWinSystemBase.

◆ OnMove()

void CWinSystemOSX::OnMove ( int  x,
int  y 
)
overridevirtual

Reimplemented from CWinSystemBase.

◆ OnTimeout()

void CWinSystemOSX::OnTimeout ( )
overridevirtual

Implements ITimerCallback.

◆ Register()

void CWinSystemOSX::Register ( IDispResource resource)
overridevirtual

Implements CWinSystemBase.

◆ ResizeWindow()

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

Implements CWinSystemBase.

Reimplemented in CWinSystemOSXGL.

◆ ResizeWindowInternal()

bool CWinSystemOSX::ResizeWindowInternal ( int  newWidth,
int  newHeight,
int  newLeft,
int  newTop,
void additional 
)

◆ Restore()

bool CWinSystemOSX::Restore ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ SetFullScreen()

bool CWinSystemOSX::SetFullScreen ( bool  fullScreen,
RESOLUTION_INFO res,
bool  blankOtherDisplays 
)
overridevirtual

Implements CWinSystemBase.

Reimplemented in CWinSystemOSXGL.

◆ Show()

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

Reimplemented from CWinSystemBase.

◆ ShowOSMouse()

void CWinSystemOSX::ShowOSMouse ( bool  show)
overridevirtual

Reimplemented from CWinSystemBase.

◆ StartLostDeviceTimer()

void CWinSystemOSX::StartLostDeviceTimer ( )

◆ StartTextInput()

void CWinSystemOSX::StartTextInput ( )
protected

◆ StopLostDeviceTimer()

void CWinSystemOSX::StopLostDeviceTimer ( )

◆ StopTextInput()

void CWinSystemOSX::StopTextInput ( )
protected

◆ SwitchToVideoMode()

bool CWinSystemOSX::SwitchToVideoMode ( int  width,
int  height,
double  refreshrate 
)
protected

◆ Unregister()

void CWinSystemOSX::Unregister ( IDispResource resource)
overridevirtual

Implements CWinSystemBase.

◆ UpdateResolutions()

void CWinSystemOSX::UpdateResolutions ( )
overridevirtual

Reimplemented from CWinSystemBase.

◆ WindowChangedScreen()

void CWinSystemOSX::WindowChangedScreen ( )

Member Data Documentation

◆ m_delayDispReset

bool CWinSystemOSX::m_delayDispReset
protected

◆ m_dispResetTimer

XbmcThreads::EndTime CWinSystemOSX::m_dispResetTimer
protected

◆ m_glContext

void* CWinSystemOSX::m_glContext
protected

◆ m_lastDisplayNr

int CWinSystemOSX::m_lastDisplayNr
protected

◆ m_lastOwnedContext

void * CWinSystemOSX::m_lastOwnedContext = 0
staticprotected

◆ m_lostDeviceTimer

CTimer CWinSystemOSX::m_lostDeviceTimer
protected

◆ m_movedToOtherScreen

bool CWinSystemOSX::m_movedToOtherScreen
protected

◆ m_obscured

bool CWinSystemOSX::m_obscured
protected

◆ m_obscured_timecheck

unsigned int CWinSystemOSX::m_obscured_timecheck
protected

◆ m_osx_events

CWinEventsOSX* CWinSystemOSX::m_osx_events
protected

◆ m_refreshRate

double CWinSystemOSX::m_refreshRate
protected

◆ m_resources

std::vector<IDispResource*> CWinSystemOSX::m_resources
protected

◆ m_resourceSection

CCriticalSection CWinSystemOSX::m_resourceSection
protected

◆ m_SDLSurface

SDL_Surface* CWinSystemOSX::m_SDLSurface
protected

◆ m_updateGLContext

int CWinSystemOSX::m_updateGLContext = 0
protected

◆ m_windowChangedScreen

void* CWinSystemOSX::m_windowChangedScreen
protected

◆ m_windowDidMove

void* CWinSystemOSX::m_windowDidMove
protected

◆ m_windowDidReSize

void* CWinSystemOSX::m_windowDidReSize
protected

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