Mesen2/MacOS/MacOSMouseManager.h

26 lines
634 B
C++

#pragma once
#include "Shared/Interfaces/IMouseManager.h"
class MacOSMouseManager : public IMouseManager
{
private:
double _relativeX;
double _relativeY;
bool _mouseCaptured;
bool _cursorHidden;
void* _eventMonitor;
void SetRelativeMovement(double x, double y);
public:
MacOSMouseManager();
virtual ~MacOSMouseManager();
SystemMouseState GetSystemMouseState(void* rendererHandle);
bool CaptureMouse(int32_t x, int32_t y, int32_t width, int32_t height, void* rendererHandle);
void ReleaseMouse();
void SetSystemMousePosition(int32_t x, int32_t y);
void SetCursorImage(CursorImage cursor);
double GetPixelScale();
};