in binding/SkiaSharp/SKPaint.cs [274:359]
public float GetFontMetrics (out SKFontMetrics metrics) =>
GetFont ().GetFontMetrics (out metrics);
// Clone
public SKPaint Clone () =>
GetObject (SkiaApi.sk_compatpaint_clone (Handle))!;
// MeasureText
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (string text) =>
GetFont ().MeasureText (text, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (ReadOnlySpan<char> text) =>
GetFont ().MeasureText (text, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (byte[] text) =>
GetFont ().MeasureText (text, TextEncoding, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (ReadOnlySpan<byte> text) =>
GetFont ().MeasureText (text, TextEncoding, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (IntPtr buffer, int length) =>
GetFont ().MeasureText (buffer, length, TextEncoding, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (IntPtr buffer, IntPtr length) =>
GetFont ().MeasureText (buffer, (int)length, TextEncoding, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (string text, ref SKRect bounds) =>
GetFont ().MeasureText (text, out bounds, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (ReadOnlySpan<char> text, ref SKRect bounds) =>
GetFont ().MeasureText (text, out bounds, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (byte[] text, ref SKRect bounds) =>
GetFont ().MeasureText (text, TextEncoding, out bounds, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (ReadOnlySpan<byte> text, ref SKRect bounds) =>
GetFont ().MeasureText (text, TextEncoding, out bounds, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (IntPtr buffer, int length, ref SKRect bounds) =>
GetFont ().MeasureText (buffer, length, TextEncoding, out bounds, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.MeasureText)}() instead.")]
public float MeasureText (IntPtr buffer, IntPtr length, ref SKRect bounds) =>
GetFont ().MeasureText (buffer, (int)length, TextEncoding, out bounds, this);
// BreakText
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.BreakText)}() instead.")]
public long BreakText (string text, float maxWidth) =>
GetFont ().BreakText (text, maxWidth, out _, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.BreakText)}() instead.")]
public long BreakText (string text, float maxWidth, out float measuredWidth) =>
GetFont ().BreakText (text, maxWidth, out measuredWidth, this);
[Obsolete ($"Use {nameof (SKFont)}.{nameof (SKFont.BreakText)}() instead.")]
public long BreakText (string text, float maxWidth, out float measuredWidth, out string measuredText)
{
if (text == null)
throw new ArgumentNullException (nameof (text));
var charsRead = GetFont ().BreakText (text, maxWidth, out measuredWidth, this);
if (charsRead == 0) {
measuredText = string.Empty;
return 0;
}
if (charsRead == text.Length) {
measuredText = text;
return text.Length;
}
measuredText = text.Substring (0, charsRead);
return charsRead;
}