protected override void CompileLayout(SuperGumpLayout layout) { base.CompileLayout(layout); var sup = SupportsUltimaStore; var ec = IsEnhancedClient; var pad = sup ? 15 : 10; var pad2 = pad * 2; var bgID = ec ? 83 : sup ? 40000 : 5054; var size = Icon.Size; var innerHeight = UOFont.GetUnicodeHeight(1, Properties); var outerHeight = innerHeight + pad2; if (outerHeight < size.Height + pad2) { outerHeight = size.Height + pad2; innerHeight = outerHeight - pad2; } layout.Add( "bg", () => { AddBackground(0, 0, size.Width + pad2, size.Height + pad2, bgID); AddBackground(size.Width + pad2, 0, 400, outerHeight, bgID); if (!ec) { AddImageTiled(pad, pad, size.Width, size.Height, 2624); AddAlphaRegion(pad, pad, size.Width, size.Height); AddImageTiled(size.Width + pad2 + pad, pad, 400 - pad2, innerHeight, 2624); AddAlphaRegion(size.Width + pad2 + pad, pad, 400 - pad2, innerHeight); } }); layout.Add( "info", () => { Icon.AddToGump(this, pad, pad); var lines = Properties.Select((s, i) => i == 0 ? s.ToUpperWords().WrapUOHtmlColor(Color.Yellow) : s); var value = String.Join("\n", lines); value = value.ToUpperWords(); value = value.WrapUOHtmlCenter(); value = value.WrapUOHtmlColor(Color.White, false); AddHtml(size.Width + pad2 + pad, pad, 400 - pad2, innerHeight, value, false, false); }); }
public static int ComputeWidth(this string str, UOFont font) { return(font.GetWidth(str ?? String.Empty)); }
public static int ComputeHeight(this string str, UOFont font) { return(font.GetHeight(str ?? String.Empty)); }
public static Size ComputeSize(this string str, UOFont font) { return(font.GetSize(str ?? String.Empty)); }