From cea569c0b6f17e268e8a6a32fb091751429fd1b2 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Thu, 8 Mar 2012 18:34:30 +0000 Subject: [PATCH] !Move/!MoveMeter: Added support for formulas [Smurfier] --- Library/MeterWindow.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Library/MeterWindow.cpp b/Library/MeterWindow.cpp index 2fbe4e1b..52b9b4d8 100644 --- a/Library/MeterWindow.cpp +++ b/Library/MeterWindow.cpp @@ -833,8 +833,14 @@ void CMeterWindow::RunBang(BANGCOMMAND bang, const std::vector& ar break; case BANG_MOVE: - MoveWindow(_wtoi(args[0].c_str()), _wtoi(args[1].c_str())); - break; + { + double value; + int x = m_Parser.ParseFormula(args[0], &value) ? (int)value : _wtoi(args[0].c_str()); + int y = m_Parser.ParseFormula(args[1], &value) ? (int)value : _wtoi(args[1].c_str()); + + MoveWindow(x, y); + break; + } case BANG_ZPOS: SetWindowZPosition((ZPOSITION)_wtoi(args[0].c_str())); @@ -879,8 +885,14 @@ void CMeterWindow::RunBang(BANGCOMMAND bang, const std::vector& ar break; case BANG_MOVEMETER: - MoveMeter(args[2], _wtoi(args[0].c_str()), _wtoi(args[1].c_str())); - break; + { + double value; + int x = m_Parser.ParseFormula(args[0], &value) ? (int)value : _wtoi(args[0].c_str()); + int y = m_Parser.ParseFormula(args[1], &value) ? (int)value : _wtoi(args[1].c_str()); + + MoveMeter(args[2], x, y); + break; + } case BANG_COMMANDMEASURE: {