protected override unsafe bool TextLayout(textpara_t *text, byte **fontpath) { TextBlock label = new TextBlock(); label.Inlines.Add(text->Text); label.FontFamily = new FontFamily(text->FontName); label.FontSize = text->fontsize; switch ((char)text->just) { case 'l': label.TextAlignment = TextAlignment.Left; break; case 'n': label.TextAlignment = TextAlignment.Center; break; case 'r': label.TextAlignment = TextAlignment.Right; break; } label.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Size desiredSize = label.DesiredSize; text->width = desiredSize.Width; text->height = desiredSize.Height; text->yoffset_centerline = 3; return(true); }
protected virtual unsafe bool TextLayout(textpara_t *text, byte **fontpath) { return(false); }