增加ResponsivePanel 调整绘图API

This commit is contained in:
小红帽
2023-12-19 22:11:21 +08:00
parent fb9b04e7a0
commit 906c865964
97 changed files with 1327 additions and 16705 deletions

View File

@@ -303,7 +303,7 @@ namespace CPF.Skia
}
}
public override float GetDefaultLineHeight(in Font font)
public override float GetLineHeight(in Font font)
{
using (SKPaint paint = new SKPaint())
{
@@ -318,6 +318,38 @@ namespace CPF.Skia
return paint.FontSpacing;
}
}
public override float GetAscent(in Font font)
{
using (SKPaint paint = new SKPaint())
{
paint.TextEncoding = SKTextEncoding.Utf16;
//paint.IsStroke = false;
//paint.LcdRenderText = true;
//paint.SubpixelText = true;
paint.IsAntialias = true;
paint.Typeface = (font.AdapterFont as FontWrapper).SKTypeface;
paint.TextSize = font.FontSize;
return -paint.FontMetrics.Ascent;
}
}
public override float GetDescent(in Font font)
{
using (SKPaint paint = new SKPaint())
{
paint.TextEncoding = SKTextEncoding.Utf16;
//paint.IsStroke = false;
//paint.LcdRenderText = true;
//paint.SubpixelText = true;
paint.IsAntialias = true;
paint.Typeface = (font.AdapterFont as FontWrapper).SKTypeface;
paint.TextSize = font.FontSize;
return paint.FontMetrics.Descent;
}
}
}
class FontWrapper : IDisposable