#pragma once

#include "uiframe.h"

// ----------------------------------------------------------------------------------
class CUiLuaTooltip
{
public:
	static	void			OpenLib(lua_State* L);
	static	int				SetMetaTable(lua_State* L);
};

// ----------------------------------------------------------------------------------
int	Tooltip_SetBagItem			(lua_State* L);
int	Tooltip_SetBankItem			(lua_State* L);
int	Tooltip_SetEquipmentItem	(lua_State* L);
int	Tooltip_SetSkillItem		(lua_State* L);
int Tooltip_SetActionItem		(lua_State* L);
int Tooltip_SetStoreItem		(lua_State* L);
int	Tooltip_SetInboxItem		(lua_State* L);
int Tooltip_SetTradeTargetItem	(lua_State* L);
int Tooltip_SetAuctionItem		(lua_State* L);
int Tooltip_SetAuctionBrowseItem(lua_State* L);
int Tooltip_SetAuctionBidItem	(lua_State* L);
int Tooltip_SetAuctionSellItem	(lua_State* L);

// ----------------------------------------------------------------------------------
class CUiTooltip : public CUiFrame
{
public:
	CUiTooltip(const char* name, CUiLayout* pParent, CUi* pUi);
	virtual ~CUiTooltip();

	virtual	void			SetLuaMetaTable(lua_State* l)			{ CUiLuaTooltip::SetMetaTable(l); }
	virtual	void			ClearLines();
	virtual	void			AddDoubleLine(const char* textL, const char*textR, float rL, float gL, float bL, float rR, float gR, float bR );
	virtual	void			AddLine(const char* text, float r, float g, float b, bool warp=false);
	virtual	void			SetText(const char* text, float r, float g, float b, bool warp=false);

protected:
	virtual	void			TooltipUpdate(float width);

protected:
	int						m_lines;
	float					m_maxWidth;
	bool					m_warp[40];
};