From e8152b700f76da97d346b93662ef8492bc93190c Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Fri, 18 Oct 2019 14:54:02 -0500 Subject: InputCommon: Allow controller settings specified with input expresions. --- .../Core/InputCommon/ControlReference/ControlReference.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'Source/Core/InputCommon/ControlReference/ControlReference.h') diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.h b/Source/Core/InputCommon/ControlReference/ControlReference.h index 539c7f4927..80c4a65d51 100644 --- a/Source/Core/InputCommon/ControlReference/ControlReference.h +++ b/Source/Core/InputCommon/ControlReference/ControlReference.h @@ -7,6 +7,7 @@ #include #include "InputCommon/ControlReference/ExpressionParser.h" +#include "InputCommon/ControlReference/FunctionExpression.h" #include "InputCommon/ControllerInterface/Device.h" // ControlReference @@ -30,6 +31,9 @@ public: virtual ControlState State(const ControlState state = 0) = 0; virtual bool IsInput() const = 0; + template + T GetState(); + int BoundCount() const; ciface::ExpressionParser::ParseStatus GetParseStatus() const; void UpdateReference(ciface::ExpressionParser::ControlEnvironment& env); @@ -45,6 +49,18 @@ protected: ciface::ExpressionParser::ParseStatus m_parse_status; }; +template <> +inline bool ControlReference::GetState() +{ + return State() > ciface::ExpressionParser::CONDITION_THRESHOLD; +} + +template +T ControlReference::GetState() +{ + return State(); +} + // // InputReference // -- cgit v1.2.3