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);
|
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)
|
LPCWSTR __stdcall RmPathToAbsolute(void* rm, LPCWSTR relativePath)
|
||||||
{
|
{
|
||||||
NULLCHECK(relativePath);
|
NULLCHECK(relativePath);
|
||||||
|
@ -2,8 +2,10 @@ LIBRARY
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
; Note: If new functions are added, the Rainmeter.lib files in Plugins\API\x32 and Plugins\API\x64
|
; 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.
|
; 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
|
RmReadString
|
||||||
RmReadFormula
|
RmReadFormula
|
||||||
|
RmReplaceVariables
|
||||||
RmPathToAbsolute
|
RmPathToAbsolute
|
||||||
RmExecute
|
RmExecute
|
||||||
RmGet
|
RmGet
|
||||||
|
@ -44,6 +44,9 @@ namespace Rainmeter
|
|||||||
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
||||||
private extern static unsafe double RmReadFormula(void* rm, char* option, double defValue);
|
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)]
|
[DllImport("Rainmeter.dll", CharSet = CharSet.Auto)]
|
||||||
private extern static unsafe char* RmPathToAbsolute(void* rm, char* relativePath);
|
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);
|
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()
|
public unsafe string GetMeasureName()
|
||||||
{
|
{
|
||||||
char* value = (char*)RmGet((void*)m_Rm, 0);
|
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 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 LPCWSTR __stdcall RmPathToAbsolute(void* rm, LPCWSTR relativePath);
|
||||||
|
|
||||||
LIBRARY_EXPORT void __stdcall RmExecute(void* skin, LPCWSTR command);
|
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