1
0
mirror of synced 2024-07-05 10:00:35 +00:00
G940LEDControl/LogitechSDK/ControlsAssignment/Src/LogiControl.h

60 lines
1.5 KiB
C++

/*
The Logitech Controls Assignment SDK, including all acompanying documentation,
is protected by intellectual property laws. All rights
not expressly granted by Logitech are reserved.
*/
#ifndef LOGI_CONTROLS_ASSIGNMENT_CONTROL_H_INCLUDED_
#define LOGI_CONTROLS_ASSIGNMENT_CONTROL_H_INCLUDED_
#include "LogiControlsAssignmentGlobals.h"
namespace LogitechControlsAssignmentSDK
{
typedef enum
{
CONTROL_TYPE_NONE = -1, CONTROL_TYPE_AXIS, CONTROL_TYPE_BUTTON, CONTROL_TYPE_POV
} ControlType;
class Control
{
public:
Control();
virtual ~Control();
virtual VOID Initialize();
LPCTSTR GetName();
HRESULT SetName(LPCTSTR name);
HRESULT SetType(CONST ControlType type);
ControlType GetType();
virtual AxisRangeType GetRangeType();
VOID SetInitialValue();
FLOAT GetInitialValue();
VOID SetControllerIndex(CONST INT index);
INT GetControllerIndex();
VOID SetControllerType(CONST ControllerType type);
INT GetControllerType();
virtual FLOAT GetValue();
virtual VOID SetValue(CONST FLOAT value);
virtual BOOL Moved() = 0;
protected:
TCHAR m_controlName[MAX_PATH];
FLOAT m_value;
ControlType m_type;
FLOAT m_initialValue;
INT m_controllerIndex;
ControllerType m_controllerType;
};
}
#endif // LOGI_CONTROLS_ASSIGNMENT_CONTROL_H_INCLUDED_