
unit WaveBox
{
	link memory linka {} = #.linker.linka;

	//[i] linksysconst_uint8 ID;
	public const uint8 ID = 0;
	
	//[i] var_int32 X;
	public linka int32 X = #addr ID * 0x0100 + 0x01;
	//[i] var_int32 Y;
	public linka int32 Y = #addr ID * 0x0100 + 0x02;
	//[i] var_int32 Width;
	public linka int32 Width = #addr ID * 0x0100 + 0x03;
	//[i] var_int32 Height;
	public linka int32 Height = #addr ID * 0x0100 + 0x04;
	//[i] var_int32 BackColor;
	public linka int32 BackColor = #addr ID * 0x0100 + 0x05;
	//[i] var_int32 ForeColor;
	public linka int32 ForeColor = #addr ID * 0x0100 + 0x06;
	
	//---------------------------------------------------
	//[i] function_void OS_init;
	void OS_init()
	{
		//...
	}
	//---------------------------------------------------
	//[i] function_void AddValue int32 int32;
	public void AddValue( int32 c, int32 v )
	{
		#.linker.SetValue( ID, 0x21, (uint)c );
		#.linker.SetValue( ID, 0x20, (uint)v );
	}
	//---------------------------------------------------
	//[i] function_void SetText Cstring;
	public void SetText( [#.code uint16*?] string )
	{
		#.linker.SetString( ID, 0x10, string );
	}
	//---------------------------------------------------
	//[i] function_void SetFont Cstring;
	public void SetFont( [#.code uint16*?] string )
	{
		#.linker.SetString( ID, 0x11, string );
	}
}








