Class KFGUI_Button_CD extends KFGUI_Button;

function DrawMenu()
{
	local float XL,YL,TS;
	local byte i, FrameOpacity;
	
	FrameOpacity = 200;
	if (bDisabled)
		Canvas.SetDrawColor(10, 10, 10, FrameOpacity);
	else if (bPressedDown)
		Canvas.SetDrawColor(20, 20, 20, FrameOpacity);
	else if (bFocused)
		Canvas.SetDrawColor(75, 75, 75, FrameOpacity);
	else Canvas.SetDrawColor(45, 45, 45, FrameOpacity);
	
	if (bIsHighlighted)
	{
		Canvas.DrawColor.R = Min(Canvas.DrawColor.R + 25, FrameOpacity);
		Canvas.DrawColor.G = Min(Canvas.DrawColor.G + 25, FrameOpacity);
		Canvas.DrawColor.B = Min(Canvas.DrawColor.B + 25, FrameOpacity);
	}

	Canvas.SetPos(0.f,0.f);
	if (ExtravDir==255)
		Owner.CurrentStyle.DrawWhiteBox(CompPos[2],CompPos[3]);
	else Owner.CurrentStyle.DrawRectBox(0,0,CompPos[2],CompPos[3],Min(CompPos[2],CompPos[3])*0.2,ExtravDir);

	if (OverlayTexture.Texture!=None)
	{
		Canvas.SetPos(0.f,0.f);
		Canvas.DrawTile(OverlayTexture.Texture,CompPos[2],CompPos[3],OverlayTexture.U,OverlayTexture.V,OverlayTexture.UL,OverlayTexture.VL);
	}
	if (ButtonText!="")
	{
		// Chose the best font to fit this button.
		i = Min(FontScale+Owner.CurrentStyle.DefaultFontSize,Owner.CurrentStyle.MaxFontScale);
		while (true)
		{
			Canvas.Font = Owner.CurrentStyle.PickFont(i,TS);
			Canvas.TextSize(ButtonText,XL,YL,TS,TS);
			if (i==0 || (XL<(CompPos[2]*0.95) && YL<(CompPos[3]*0.95)))
				break;
			--i;
		}
		Canvas.SetPos((CompPos[2]-XL)*0.5,(CompPos[3]-YL)*0.5);
		if (bDisabled)
			Canvas.DrawColor = TextColor*0.5f;
		else Canvas.DrawColor = TextColor;
		Canvas.DrawText(ButtonText,,TS,TS,TextFontInfo);
	}
}

defaultproperties
{
}