mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Script: Added SKIN:ParseFormula()
This commit is contained in:
parent
dca935f6ff
commit
55a1ec7e27
@ -77,7 +77,7 @@ static int Measure_ReadFormula(lua_State* L)
|
||||
|
||||
std::wstring strTmp = LuaManager::ToWide(L, 2);
|
||||
double value = parser.ReadFormula(self->GetName(), strTmp.c_str(), tolua_tonumber(L, 3, 0));
|
||||
|
||||
|
||||
lua_pushnumber(L, value);
|
||||
return 1;
|
||||
}
|
||||
|
@ -22,92 +22,18 @@
|
||||
#include "../../MeterWindow.h"
|
||||
#include "../../MeterString.h"
|
||||
|
||||
static int MeterWindow_MoveWindow(lua_State* L)
|
||||
static int MeterWindow_Bang(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int x = (int)tolua_tonumber(L, 2, 0);
|
||||
int y = (int)tolua_tonumber(L, 3, 0);
|
||||
std::wstring strTmp = LuaManager::ToWide(L, 2);
|
||||
|
||||
self->MoveWindow(x, y);
|
||||
CConfigParser& parser = self->GetParser();
|
||||
parser.ReplaceVariables(strTmp);
|
||||
self->GetMainObject()->ExecuteCommand(strTmp.c_str(), self);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int MeterWindow_FadeWindow(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int from = (int)tolua_tonumber(L, 2, 0);
|
||||
int to = (int)tolua_tonumber(L, 3, 0);
|
||||
self->FadeWindow(from, to);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetSkinName(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
const std::wstring& val = self->GetSkinName();
|
||||
LuaManager::PushWide(L, val.c_str());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetSkinIniFile(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
const std::wstring& val = self->GetSkinIniFile();
|
||||
LuaManager::PushWide(L, val.c_str());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetW(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetW();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetH(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetH();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetX(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetX();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetY(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetY();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_MakePathAbsolute(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
std::wstring path = LuaManager::ToWide(L, 2);
|
||||
|
||||
self->MakePathAbsolute(path);
|
||||
LuaManager::PushWide(L, path.c_str());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetMeter(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
@ -165,37 +91,107 @@ static int MeterWindow_ReplaceVariables(lua_State* L)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_Bang(lua_State* L)
|
||||
static int MeterWindow_ParseFormula(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
std::wstring strTmp = LuaManager::ToWide(L, 2);
|
||||
|
||||
CConfigParser& parser = self->GetParser();
|
||||
parser.ReplaceVariables(strTmp);
|
||||
self->GetMainObject()->ExecuteCommand(strTmp.c_str(), self);
|
||||
double result;
|
||||
if (self->GetParser().ParseFormula(strTmp, &result))
|
||||
{
|
||||
lua_pushnumber(L, result);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int MeterWindow_MoveWindow(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int x = (int)tolua_tonumber(L, 2, 0);
|
||||
int y = (int)tolua_tonumber(L, 3, 0);
|
||||
|
||||
self->MoveWindow(x, y);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int MeterWindow_FadeWindow(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int from = (int)tolua_tonumber(L, 2, 0);
|
||||
int to = (int)tolua_tonumber(L, 3, 0);
|
||||
self->FadeWindow(from, to);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetW(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetW();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetH(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetH();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetX(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetX();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_GetY(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
int val = (int)self->GetY();
|
||||
lua_pushnumber(L, (lua_Number)val);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int MeterWindow_MakePathAbsolute(lua_State* L)
|
||||
{
|
||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||
std::wstring path = LuaManager::ToWide(L, 2);
|
||||
|
||||
self->MakePathAbsolute(path);
|
||||
LuaManager::PushWide(L, path.c_str());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void LuaManager::RegisterMeterWindow(lua_State* L)
|
||||
{
|
||||
tolua_usertype(L, "CMeterWindow");
|
||||
tolua_cclass(L, "CMeterWindow", "CMeterWindow", "", NULL);
|
||||
|
||||
tolua_beginmodule(L, "CMeterWindow");
|
||||
tolua_function(L, "Bang", MeterWindow_Bang);
|
||||
tolua_function(L, "GetMeter", MeterWindow_GetMeter);
|
||||
tolua_function(L, "GetMeasure", MeterWindow_GetMeasure);
|
||||
tolua_function(L, "GetVariable", MeterWindow_GetVariable);
|
||||
tolua_function(L, "ReplaceVariables", MeterWindow_ReplaceVariables);
|
||||
tolua_function(L, "ParseFormula", MeterWindow_ParseFormula);
|
||||
tolua_function(L, "MoveWindow", MeterWindow_MoveWindow);
|
||||
tolua_function(L, "FadeWindow", MeterWindow_FadeWindow);
|
||||
tolua_function(L, "GetSkinName", MeterWindow_GetSkinName);
|
||||
tolua_function(L, "GetSkinIniFile", MeterWindow_GetSkinIniFile);
|
||||
tolua_function(L, "GetW", MeterWindow_GetW);
|
||||
tolua_function(L, "GetH", MeterWindow_GetH);
|
||||
tolua_function(L, "GetX", MeterWindow_GetX);
|
||||
tolua_function(L, "GetY", MeterWindow_GetY);
|
||||
tolua_function(L, "MakePathAbsolute", MeterWindow_MakePathAbsolute);
|
||||
tolua_function(L, "GetMeter", MeterWindow_GetMeter);
|
||||
tolua_function(L, "GetMeasure", MeterWindow_GetMeasure);
|
||||
tolua_function(L, "GetVariable", MeterWindow_GetVariable);
|
||||
tolua_function(L, "ReplaceVariables", MeterWindow_ReplaceVariables);
|
||||
tolua_function(L, "Bang", MeterWindow_Bang);
|
||||
tolua_endmodule(L);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user