diff options
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ControlReference.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ControlReference.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.cpp b/Source/Core/InputCommon/ControlReference/ControlReference.cpp index 4268531668..5b5d807781 100644 --- a/Source/Core/InputCommon/ControlReference/ControlReference.cpp +++ b/Source/Core/InputCommon/ControlReference/ControlReference.cpp @@ -36,6 +36,31 @@ void ControlReference::UpdateReference(ciface::Core::DeviceContainer& devices, parse_error = ParseExpression(expression, finder, &parsed_expression); } +ControlReference::~ControlReference() +{ + delete parsed_expression; +} +int ControlReference::BoundCount() const +{ + if (parsed_expression) + return parsed_expression->num_controls; + else + return 0; +} + +ControlReference::ControlReference(const bool _is_input) + : range(1), is_input(_is_input), parsed_expression(nullptr) +{ +} + +InputReference::InputReference() : ControlReference(true) +{ +} + +OutputReference::OutputReference() : ControlReference(false) +{ +} + // // InputReference :: State // |
