示例#1
0
 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();
 }
示例#2
0
        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;
        }