Use character midpoint calculation to increase cursor placement accuracy in text fields

This commit is contained in:
SuntrustDev
2026-02-17 21:33:33 +01:00
parent 122ca058de
commit 7eca2871d7

View File

@@ -1280,9 +1280,12 @@ int CGraphicTextInstance::PixelPositionToCharacterPosition(int iPixelPosition)
if (adv <= 0) if (adv <= 0)
adv = pCurCharInfo->width; adv = pCurCharInfo->width;
int charStart = icurPosition;
icurPosition += adv; icurPosition += adv;
if (adjustedPixelPos < icurPosition) int charMid = charStart + adv / 2;
if (adjustedPixelPos < charMid)
{ {
visualPos = i; visualPos = i;
break; break;