raze/wadsrc/static/zscript/engine/ui/menu/menucustomize.zs

32 lines
907 B
Text

// This class allows global customization of certain menu aspects, e.g. replacing the menu caption.
class MenuDelegateBase ui
{
virtual int DrawCaption(String title, Font fnt, int y, bool drawit)
{
if (drawit) screen.DrawText(fnt, OptionMenuSettings.mTitleColor, (screen.GetWidth() - fnt.StringWidth(title) * CleanXfac_1) / 2, 10 * CleanYfac_1, title, DTA_CleanNoMove_1, true);
return (y + fnt.GetHeight()) * CleanYfac_1; // return is spacing in screen pixels.
}
virtual void PlaySound(Name sound)
{
}
virtual bool DrawSelector(ListMenuDescriptor desc)
{
return false;
}
virtual void MenuDismissed()
{
// overriding this allows to execute special actions when the menu closes
}
virtual Font PickFont(Font fnt)
{
if (generic_ui || !fnt) return NewSmallFont;
if (fnt == SmallFont) return AlternativeSmallFont;
if (fnt == BigFont) return AlternativeBigFont;
return fnt;
}
}