Repository: unoplatform/uno
File: src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.skia.cs (C#)

Code before:
				// placement of text by the difference.  Horizontal adjustment is not of concern since
				// LsTextLine uses arranged size which is already layoutround-ed.
				//_layoutRoundingHeightAdjustment = desiredSize.Height - pageNodeSize.Height;
			}

			return desiredSize;
		}

		private UnicodeText ParseText(Size availableSizeWithoutPadding, bool forMeasure, out Size size) =>
			new UnicodeText(
				availableSizeWithoutPadding,
				Inlines.TraversedTree.leafTree,
				GetDefaultFontDetails(),
				MaxLines,
				(float)LineHeight,
				LineStackingStrategy,
				FlowDirection,
				(OwningTextBox as IDependencyObjectStoreProvider)?.Store
					.GetCurrentHighestValuePrecedence(TextBox.TextAlignmentProperty) is DependencyPropertyValuePrecedences.DefaultValue
						? null
						: TextAlignment,
				TextWrapping,
				TextTrimming,
				IsSpellCheckEnabled,
				this,
				false,
				out size);

		// the entire body of the text block is considered hit-testable
		internal override bool HitTest(Point point)
		{
			// This is equivalent to using TransformToVisual but without the unnecessary MatrixTransform allocation.
			var transform = GetTransform(this, (UIElement)this.GetParent());
			var success = Matrix3x2.Invert(transform, out var inverted);
			return success && inverted.Transform(LayoutSlotWithMarginsAndAlignments).Contains(point);
		}

		partial void OnIsTextSelectionEnabledChangedPartial()
		{
			RecalculateSubscribeToPointerEvents();
			UpdateSelectionRendering();
		}

		private void UpdateSelectionRendering()
		{
			if (OwningTextBox is null) // TextBox manages RenderSelection itself
			{
				RenderSelection = IsTextSelectionEnabled && (IsFocused || (_contextMenu?.IsOpen ?? false));
			}
		}


Review comment (suggestion):
shouldn't forward the forMeasure parameter here?
```suggestion
				forMeasure,
```

Code after:
				// placement of text by the difference.  Horizontal adjustment is not of concern since
				// LsTextLine uses arranged size which is already layoutround-ed.
				//_layoutRoundingHeightAdjustment = desiredSize.Height - pageNodeSize.Height;
			}

			return desiredSize;
		}

		private UnicodeText ParseText(Size availableSizeWithoutPadding, out Size size) =>
			new UnicodeText(
				availableSizeWithoutPadding,
				Inlines.TraversedTree.leafTree,
				GetDefaultFontDetails(),
				MaxLines,
				(float)LineHeight,
				LineStackingStrategy,
				FlowDirection,
				(OwningTextBox as IDependencyObjectStoreProvider)?.Store
					.GetCurrentHighestValuePrecedence(TextBox.TextAlignmentProperty) is DependencyPropertyValuePrecedences.DefaultValue
						? null
						: TextAlignment,
				TextWrapping,
				TextTrimming,
				IsSpellCheckEnabled,
				this,
				out size);

		// the entire body of the text block is considered hit-testable
		internal override bool HitTest(Point point)
		{
			// This is equivalent to using TransformToVisual but without the unnecessary MatrixTransform allocation.
			var transform = GetTransform(this, (UIElement)this.GetParent());
			var success = Matrix3x2.Invert(transform, out var inverted);
			return success && inverted.Transform(LayoutSlotWithMarginsAndAlignments).Contains(point);
		}

		partial void OnIsTextSelectionEnabledChangedPartial()
		{
			RecalculateSubscribeToPointerEvents();
			UpdateSelectionRendering();
		}

		private void UpdateSelectionRendering()
		{
			if (OwningTextBox is null) // TextBox manages RenderSelection itself
			{
				RenderSelection = IsTextSelectionEnabled && (IsFocused || (_contextMenu?.IsOpen ?? false));
			}
		}

		protected override Size ArrangeOverride(Size finalSize)