diff options
Diffstat (limited to 'xbmc/windowing/osx/WinEventsOSX.mm')
-rw-r--r-- | xbmc/windowing/osx/WinEventsOSX.mm | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/xbmc/windowing/osx/WinEventsOSX.mm b/xbmc/windowing/osx/WinEventsOSX.mm new file mode 100644 index 0000000..b2d07db --- /dev/null +++ b/xbmc/windowing/osx/WinEventsOSX.mm @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2011-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#include "WinEventsOSX.h" + +#import "WinEventsOSXImpl.h" + +struct CWinEventsOSXImplWrapper +{ + CWinEventsOSXImpl* callbackClass; +}; + +CWinEventsOSX::CWinEventsOSX() : CThread("CWinEventsOSX") +{ + m_eventsImplWrapper = std::make_unique<CWinEventsOSXImplWrapper>(); + m_eventsImplWrapper->callbackClass = [CWinEventsOSXImpl new]; + Create(); +} + +CWinEventsOSX::~CWinEventsOSX() +{ + m_bStop = true; + StopThread(true); +} + +void CWinEventsOSX::MessagePush(XBMC_Event* newEvent) +{ + [m_eventsImplWrapper->callbackClass MessagePush:newEvent]; +} + +size_t CWinEventsOSX::GetQueueSize() +{ + return [m_eventsImplWrapper->callbackClass GetQueueSize]; +} + +bool CWinEventsOSX::MessagePump() +{ + return [m_eventsImplWrapper->callbackClass MessagePump]; +} + +void CWinEventsOSX::enableInputEvents() +{ + return [m_eventsImplWrapper->callbackClass enableInputEvents]; +} + +void CWinEventsOSX::disableInputEvents() +{ + return [m_eventsImplWrapper->callbackClass disableInputEvents]; +} |