You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
#ifndef OIS_MacMouse_H
|
|
#define OIS_MacMouse_H
|
|
|
|
#include "OISMouse.h"
|
|
#include "mac/MacHelpers.h"
|
|
#include "mac/MacPrereqs.h"
|
|
|
|
#include <Carbon/Carbon.h>
|
|
|
|
namespace OIS
|
|
{
|
|
class MacMouse : public Mouse
|
|
{
|
|
public:
|
|
MacMouse( InputManager* creator, bool buffered );
|
|
virtual ~MacMouse();
|
|
|
|
/** @copydoc Object::setBuffered */
|
|
virtual void setBuffered(bool buffered);
|
|
|
|
/** @copydoc Object::capture */
|
|
virtual void capture();
|
|
|
|
/** @copydoc Object::queryInterface */
|
|
virtual Interface* queryInterface(Interface::IType type) {return 0;}
|
|
|
|
/** @copydoc Object::_initialize */
|
|
virtual void _initialize();
|
|
|
|
public:
|
|
void _mouseCallback( EventRef theEvent );
|
|
|
|
protected:
|
|
static OSStatus WindowFocusChanged(EventHandlerCallRef nextHandler, EventRef event, void* macMouse);
|
|
|
|
// "universal procedure pointers" - required reference for callbacks
|
|
EventHandlerUPP mouseUPP;
|
|
EventHandlerRef mouseEventRef;
|
|
|
|
EventHandlerUPP mWindowFocusListener;
|
|
EventHandlerRef mWindowFocusHandler;
|
|
|
|
bool mNeedsToRegainFocus;
|
|
bool mMouseWarped;
|
|
|
|
MouseState mTempState;
|
|
};
|
|
}
|
|
|
|
|
|
#endif // OIS_MacMouse_H
|