Class KFGUI_Tooltip_CD extends KFGUI_Tooltip;

function PreDraw()
{
	local int i;
	local float X,Y,XS,YS,TX,TY,TS;
	
	if (Owner.CurrentStyle == None)
		return;

	Canvas.Font = Owner.CurrentStyle.PickFont(Owner.CurrentStyle.DefaultFontSize,TS);

	// First compute textbox size.
	TY = Owner.CurrentStyle.DefaultHeight*Lines.Length;
	for (i=0; i<Lines.Length; ++i)
	{
		if (Lines[i]!="")
			Canvas.TextSize(Lines[i],XS,YS);
		TX = FMax(XS,TX);
	}
	TX*=TS;
	
	// Give some borders.
	TX += KF2Style(Owner.CurrentStyle).TOOLTIP_BORDER*2;
	TY += KF2Style(Owner.CurrentStyle).TOOLTIP_BORDER*2;

	X = CompPos[0];
	Y = CompPos[1]+24.f;

	// Then check if too close to window edge, then move it to another pivot.
	if ((X+TX)>Owner.ScreenSize.X)
		X = Owner.ScreenSize.X-TX;
	if ((Y+TY)>Owner.ScreenSize.Y)
		Y = CompPos[1]-TY;
	
	if (CurrentAlpha<255)
		CurrentAlpha = Min(CurrentAlpha+25,255);

	// Reset clipping.
	Canvas.SetOrigin(0,0);
	Canvas.SetClip(Owner.ScreenSize.X,Owner.ScreenSize.Y);

	// Draw frame.
	//Canvas.SetDrawColor(200,200,80,CurrentAlpha);
	Canvas.SetDrawColor(45, 45, 45, 160);
	Canvas.SetPos(X-2,Y-2);
	Owner.CurrentStyle.DrawWhiteBox(TX+4,TY+4);
	//Canvas.SetDrawColor(80,10,80,CurrentAlpha);
	Canvas.SetDrawColor(10, 10, 10, 160);
	Canvas.SetPos(X,Y);
	Owner.CurrentStyle.DrawWhiteBox(TX,TY);

	// Draw text.
	Canvas.SetDrawColor(255,255,255,CurrentAlpha);
	X+=KF2Style(Owner.CurrentStyle).TOOLTIP_BORDER;
	Y+=KF2Style(Owner.CurrentStyle).TOOLTIP_BORDER;
	for (i=0; i<Lines.Length; ++i)
	{
		Canvas.SetPos(X,Y);
		Canvas.DrawText(Lines[i],,TS,TS,TextFontInfo);
		Y+=Owner.CurrentStyle.DefaultHeight;
	}
}

defaultproperties
{
}