I forgot yesterday I've made some more arrangement, and the multiline function. I must have been really sleepy xD Remember it's for Warcraft III here. I have no problem in clearing data, i simply call the function again and the result is there. I'm using DX 8 dll.
Code:
#Persistent
#EscapeChar \
#CommentFlag //
Exit
#IfWinActive, Warcraft III
GPP_Load()
{
global
GPP_Toggled := 0
WarcraftDir := "c:\\home\\portable\\wc3\\"
hModule := DllCall("LoadLibrary", "str", WarcraftDir . "gpcomms.dll" )
OnExit, ExitSub
}
ExitSub:
DllCall("FreeLibrary", "UInt", hModule)
ExitApp
GPP_SetSingleText(outX,outY,outText,ARGB,FontSize,Monospaced)
{
// outX outY, Word
// outText, null terminated string
// ARGB, DWord
// FontSize, Byte
// Monospaced, Boolean
result := DllCall( "gpcomms\\GPSL_SetTextLineData", Uchar,0x1, UShort,outX, UShort,outY, str,outText, UInt,ARGB, Int,0, Uchar,FontSize, Int,0, Uchar,Monospaced)
}
GPP_SetMultiText(outX,outY,outText,ARGB,FontSize,sizeX,sizeY,Monospaced)
{
// outX outY, Word
// outText, null terminated string
// ARGB, DWord
// FontSize, Byte
// sizeX, sizeY, Word
// Monospaced, Boolean
result := DllCall( "gpcomms\\GPML_SetTextMultilineData", Uchar,0x1, UShort,outX, UShort,outY, str,outText, UInt,ARGB, Int,0, Uchar,FontSize, Int,0, Uchar, sizeX, Uchar, SizeY, Uchar,Monospaced)
}
GPP_Toggle()
{
global
GPP_Toggled := 1 - GPP_Toggled
result := DllCall("gpcomms\\GPML_ShowText", Uchar, 0x1, Int, GPP_Toggled)
result2 := DllCall("gpcomms\\GPPIC_ShowPicturePos", Int, GPP_Toggled, Uchar, 0x30, Uchar, 0x30)
}
GPP_SetPicture(Picture)
{
result := DllCall( "gpcomms\\GPPIC_LoadNewPicture", str, Picture)
}
!1::
GPP_Load()
GPP_SetPicture("c:\\home\\img.jpg")
GPP_SetMultiText(100,100,"Stronzo\r\nStronzone", 0xFFFFFFFF, 14,200,200,1)
return
!2::
GPP_Toggle()
return
#IfWinActive,
^r::
Reload
return