protected virtual void SetupLayout(Cairo.Context context) { PangoLayout = Pango.CairoHelper.CreateLayout(context); PangoLayout.FontDescription = FontFactory.GetFontFromDescription(string.Format("{0} {1}", FontFamily, FontSize)); if (Text != null && Text.Length > 0) { PangoLayout.SetText(Text); } PangoLayout.Alignment = FontAlignment; PangoLayout.ContextChanged(); }
protected void RecalculateDisplayBox() { int w = 0; int h = 0; if (PangoLayout != null) { PangoLayout.GetPixelSize(out w, out h); } RectangleD r = new RectangleD(DisplayBox.X + PaddingLeft, DisplayBox.Y + PaddingTop, (double)w, (double)h); r.Inflate(PaddingLeft, PaddingTop, PaddingRight, PaddingBottom); _displayBox = r; }