Files
Webcam/include/platform/input/input_mouse.h
2026-06-22 11:49:35 +02:00

57 lines
1.0 KiB
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __INPUT_MOUSE__
#define __INPUT_MOUSE__
#include "input/input_device.h"
namespace GS {
namespace Input {
/*
@short Mouse input device.
@author Emmanuel Julien (ejulien@nworks.fr)
*/
class Mouse : public Device
{
protected:
struct State
{
float x, y, wheel, hwheel;
bool left_button, right_button, middle_button;
};
State state,
last_state;
public:
virtual Type GetType() const { return Type_Mouse; }
virtual const char *GetName() const { return "mouse"; }
virtual void Update() = 0;
virtual bool IsDown(KeyCode) const;
virtual bool WasDown(KeyCode) const;
virtual bool GetInputRange(InputCode, float &min, float &max) const;
virtual float GetValue(InputCode) const;
virtual float GetLastValue(InputCode) const;
Mouse();
};
} // Input
} // GS
#endif // __INPUT_MOUSE__