device.h 630 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. class IDevice
  3. {
  4. public:
  5. virtual ~IDevice()
  6. {
  7. }
  8. virtual void Update(float DeltaTime) = 0;
  9. virtual void EndFrame() = 0;
  10. virtual long GetIndex(const char *deviceControl) = 0;
  11. virtual float GetRawValue(long controlIndex) const = 0;
  12. virtual unsigned int GetControlsCount() const = 0;
  13. virtual const char *GetControlName(unsigned int index) const = 0;
  14. };
  15. class IJoystick : public IDevice
  16. {
  17. public:
  18. enum ValueType {FFRotorSpeed};
  19. public:
  20. virtual bool IsStartPressed() const = 0;
  21. virtual bool IsDisconnected() const = 0;
  22. virtual bool SetValues(ValueType type, const void *values, long nBytes) = 0;
  23. };