[WIN32SS] Addendum to font alignment CORE-16133

addendum to 0.4.13-dev-707-g
0e4db883e5

Jim Tabor intended to structurally use flTextAlign over
lTextAlign internally within IntExtTextOutW().
He initially committed these changes in 0.4.12-dev-805-g
3377fe184e

But we unintentionally lost these changes via 0.4.13-dev-370-g
8f482af0a8

Many thanks to Doug Lyons who helped a lot with fixing CORE-16133.
This commit is contained in:
Joachim Henze 2019-07-27 10:00:42 +02:00
parent d7aacdcc0d
commit 64e182e429

View file

@ -5794,7 +5794,7 @@ IntExtTextOutW(
IntLPtoDP(dc, (POINT *)lprc, 2); IntLPtoDP(dc, (POINT *)lprc, 2);
} }
if (pdcattr->lTextAlign & TA_UPDATECP) if (pdcattr->flTextAlign & TA_UPDATECP)
{ {
Start.x = pdcattr->ptlCurrent.x; Start.x = pdcattr->ptlCurrent.x;
Start.y = pdcattr->ptlCurrent.y; Start.y = pdcattr->ptlCurrent.y;
@ -5931,7 +5931,7 @@ IntExtTextOutW(
* Process the horizontal alignment and modify XStart accordingly. * Process the horizontal alignment and modify XStart accordingly.
*/ */
DxShift = fuOptions & ETO_PDY ? 1 : 0; DxShift = fuOptions & ETO_PDY ? 1 : 0;
if (pdcattr->lTextAlign & (TA_RIGHT | TA_CENTER)) if (pdcattr->flTextAlign & (TA_RIGHT | TA_CENTER))
{ {
ULONGLONG TextWidth = 0; ULONGLONG TextWidth = 0;
LPCWSTR TempText = String; LPCWSTR TempText = String;
@ -6017,7 +6017,7 @@ IntExtTextOutW(
previous = 0; previous = 0;
if ((pdcattr->lTextAlign & TA_CENTER) == TA_CENTER) if ((pdcattr->flTextAlign & TA_CENTER) == TA_CENTER)
{ {
RealXStart -= TextWidth / 2; RealXStart -= TextWidth / 2;
} }
@ -6417,7 +6417,7 @@ IntExtTextOutW(
} }
} }
if (pdcattr->lTextAlign & TA_UPDATECP) { if (pdcattr->flTextAlign & TA_UPDATECP) {
pdcattr->ptlCurrent.x = DestRect.right - dc->ptlDCOrig.x; pdcattr->ptlCurrent.x = DestRect.right - dc->ptlDCOrig.x;
} }