Browse Source

Translate glyphRun bounds by the baseline origin (#15839)

pull/15846/head
Benedikt Stebner 2 years ago
committed by GitHub
parent
commit
2cb40ac6bd
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      src/Avalonia.Base/Media/GlyphRun.cs
  2. 2
      src/Skia/Avalonia.Skia/GlyphRunImpl.cs

3
src/Avalonia.Base/Media/GlyphRun.cs

@ -153,7 +153,8 @@ namespace Avalonia.Media
/// <summary>
/// Gets the conservative bounding box of the <see cref="GlyphRun"/>.
/// </summary>
public Rect Bounds => new Rect(new Size(Metrics.WidthIncludingTrailingWhitespace, Metrics.Height));
public Rect Bounds => new Rect(new Point(BaselineOrigin.X, 0),
new Size(Metrics.WidthIncludingTrailingWhitespace, Metrics.Height));
public Rect InkBounds => PlatformImpl.Item.Bounds;

2
src/Skia/Avalonia.Skia/GlyphRunImpl.cs

@ -78,7 +78,7 @@ namespace Avalonia.Skia
ArrayPool<SKRect>.Shared.Return(glyphBounds);
BaselineOrigin = baselineOrigin;
Bounds = runBounds;
Bounds = runBounds.Translate(new Vector(baselineOrigin.X, 0));
}
public IGlyphTypeface GlyphTypeface => _glyphTypefaceImpl;

Loading…
Cancel
Save