#include "BatchRunner.hpp"
#include "../UniversalSwitch.hpp"
+#include "../Window.hpp"
#include "../UniversalSwitchLog.hpp"
#include "Lexer.hpp"
#include "Parser.hpp"
return {};
}, { {"seconds"} } };
- variables["print"] = EvaluationValueFunction{ [&](std::string text) -> EvaluationValue {
- output << text << "\n";
+ variables["print"] = EvaluationValueFunction{ [&](EvaluationValue text) -> EvaluationValue {
+ DebugEvaluator{} << text << "\n";
return {};
}, { {"text"} } };
return tmp.str();
}, { {"value"} } };
+ variables["is_point_on_screen"] = EvaluationValueFunction{ [&](Point point) -> EvaluationValue {
+ auto dims = executeOnMainThread([&]()
+ {
+ return Singleton<UniversalSwitch>::instance().getMainWindow()->getDimensions();
+ });
+ return dims.contains(point);
+ }, { {"value"} } };
+
variables["len"] = EvaluationValueFunction{ [&](EvaluationValue e) -> EvaluationValue {
if (e.isString()) return static_cast<int>(e.asString().size());
if (e.isVector()) return static_cast<int>(e.asVector().size());
{
return create(bool(value->getObject()));
}
+ EvaluationValuePtr convertToPoint() const override
+ {
+ auto v = EvaluationContext::getCurrentEvaluationContext().executionInterface().getUIElementPosition(value);
+ return create(v.getCenterPoint());
+ }
EvaluationValuePtr convertToUIElement() const override
{
return shared_from_this();