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 { }