37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#ifndef IPRIMARYSCREENRECEIVER_H
|
|
#define IPRIMARYSCREENRECEIVER_H
|
|
|
|
#include "IInterface.h"
|
|
#include "KeyTypes.h"
|
|
#include "MouseTypes.h"
|
|
|
|
// the interface for receiving notification of events on the primary
|
|
// screen. the server implements this interface to handle user input.
|
|
// platform dependent primary screen implementation will need to take
|
|
// an IPrimaryScreenReceiver* and notify it of events.
|
|
class IPrimaryScreenReceiver : public IInterface {
|
|
public:
|
|
// called if the display is unexpectedly closing.
|
|
|
|
// called if the screen is unexpectedly closing. this implies that
|
|
// the screen is no longer usable and that the program should
|
|
// close the screen and possibly terminate.
|
|
virtual void onError() = 0;
|
|
|
|
// called when the screensaver is activated or deactivated
|
|
virtual void onScreensaver(bool activated) = 0;
|
|
|
|
// call to notify of events. onMouseMovePrimary() returns
|
|
// true iff the mouse enters a jump zone and jumps.
|
|
virtual void onKeyDown(KeyID, KeyModifierMask) = 0;
|
|
virtual void onKeyUp(KeyID, KeyModifierMask) = 0;
|
|
virtual void onKeyRepeat(KeyID, KeyModifierMask, SInt32 count) = 0;
|
|
virtual void onMouseDown(ButtonID) = 0;
|
|
virtual void onMouseUp(ButtonID) = 0;
|
|
virtual bool onMouseMovePrimary(SInt32 x, SInt32 y) = 0;
|
|
virtual void onMouseMoveSecondary(SInt32 dx, SInt32 dy) = 0;
|
|
virtual void onMouseWheel(SInt32 delta) = 0;
|
|
};
|
|
|
|
#endif
|