mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Plugin API: Add RmReplaceVariables function
This commit is contained in:
parent
0d1089608c
commit
dca5795929
@ -46,6 +46,17 @@ double __stdcall RmReadFormula(void* rm, LPCWSTR option, double defValue)
|
||||
return parser.ReadFloat(measure->GetName(), option, defValue);
|
||||
}
|
||||
|
||||
LPCWSTR __stdcall RmReplaceVariables(void* rm, LPCWSTR str)
|
||||
{
|
||||
NULLCHECK(str);
|
||||
|
||||
MeasurePlugin* measure = (MeasurePlugin*)rm;
|
||||
ConfigParser& parser = measure->GetMeterWindow()->GetParser();
|
||||
g_Buffer = str;
|
||||
parser.ReplaceVariables(g_Buffer);
|
||||
return g_Buffer.c_str();
|
||||
}
|
||||
|
||||
LPCWSTR __stdcall RmPathToAbsolute(void* rm, LPCWSTR relativePath)
|
||||
{
|
||||
NULLCHECK(relativePath);
|
||||
|
@ -2,8 +2,10 @@ LIBRARY
|
||||
EXPORTS
|
||||
; Note: If new functions are added, the Rainmeter.lib files in Plugins\API\x32 and Plugins\API\x64
|
||||
; must be replaced by the corresponding file in Library\x32\Release and Library\x64\Release.
|
||||
; Set '<ExcludeTests>true</ExcludeTests>' in Rainmeter.props first to minimize the .lib size.
|
||||
RmReadString
|
||||
RmReadFormula
|
||||
RmReplaceVariables
|
||||
RmPathToAbsolute
|
||||
RmExecute
|
||||
RmGet
|
||||
|
@ -44,6 +44,9 @@ namespace Rainmeter
|
||||
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
||||
private extern static unsafe double RmReadFormula(void* rm, char* option, double defValue);
|
||||
|
||||
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
||||
private extern static unsafe char* RmReplaceVariables(void* rm, char* str);
|
||||
|
||||
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
||||
private extern static unsafe char* RmPathToAbsolute(void* rm, char* relativePath);
|
||||
|
||||
@ -87,6 +90,12 @@ namespace Rainmeter
|
||||
return (int)RmReadFormula((void*)m_Rm, ToUnsafe(option), defValue);
|
||||
}
|
||||
|
||||
public unsafe string ReplaceVariables(string str)
|
||||
{
|
||||
char* value = RmReplaceVariables((void*)m_Rm, ToUnsafe(str));
|
||||
return new string(value);
|
||||
}
|
||||
|
||||
public unsafe string GetMeasureName()
|
||||
{
|
||||
char* value = (char*)RmGet((void*)m_Rm, 0);
|
||||
|
@ -39,6 +39,8 @@ LIBRARY_EXPORT LPCWSTR __stdcall RmReadString(void* rm, LPCWSTR option, LPCWSTR
|
||||
|
||||
LIBRARY_EXPORT double __stdcall RmReadFormula(void* rm, LPCWSTR option, double defValue);
|
||||
|
||||
LIBRARY_EXPORT LPCWSTR __stdcall RmReplaceVariables(void* rm, LPCWSTR str);
|
||||
|
||||
LIBRARY_EXPORT LPCWSTR __stdcall RmPathToAbsolute(void* rm, LPCWSTR relativePath);
|
||||
|
||||
LIBRARY_EXPORT void __stdcall RmExecute(void* skin, LPCWSTR command);
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user