
unit Pack
{
	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 FrameColor;
	public linka int32 FrameColor = #addr ID * 0x0100 + 0x07;

	//[i] var_int32 SX;
	public linka int32 SX = #addr ID * 0x0100 + 0x21;
	//[i] var_int32 SY;
	public linka int32 SY = #addr ID * 0x0100 + 0x22;
	
	//---------------------------------------------------
	//[i] function_void OS_init;
	void OS_init()
	{
		//...
	}
	//---------------------------------------------------
	//[i] function_void SetImage Cstring;
	public void SetImage( [#.code uint16*?] string )
	{
		#.linker.SetString( ID, 0x20, string );
	}
	//---------------------------------------------------
	//[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 );
	}
}








