57 lines
1.6 KiB
Ucode
57 lines
1.6 KiB
Ucode
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
|
|
{
|
|
|
|
} |