TextRunBounds.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. namespace Avalonia.Media.TextFormatting
  2. {
  3. /// <summary>
  4. /// The bounding rectangle of text run
  5. /// </summary>
  6. public readonly struct TextRunBounds
  7. {
  8. /// <summary>
  9. /// Constructing TextRunBounds
  10. /// </summary>
  11. internal TextRunBounds(Rect bounds, int firstCharacterIndex, int length, TextRun textRun)
  12. {
  13. Rectangle = bounds;
  14. TextSourceCharacterIndex = firstCharacterIndex;
  15. Length = length;
  16. TextRun = textRun;
  17. }
  18. /// <summary>
  19. /// First text source character index of text run
  20. /// </summary>
  21. public int TextSourceCharacterIndex { get; }
  22. /// <summary>
  23. /// character length of bounded text run
  24. /// </summary>
  25. public int Length { get; }
  26. /// <summary>
  27. /// Text run bounding rectangle
  28. /// </summary>
  29. public Rect Rectangle { get; }
  30. /// <summary>
  31. /// text run
  32. /// </summary>
  33. public TextRun TextRun { get; }
  34. }
  35. }