| Index: xfa/fde/cfde_txtedtpage.cpp
|
| diff --git a/xfa/fde/cfde_txtedtpage.cpp b/xfa/fde/cfde_txtedtpage.cpp
|
| index 51621dae1c32f4e4c53c1b5714e9f14cd6c01bfa..ff19d12338030497e596fdfacdddad207f090de9 100644
|
| --- a/xfa/fde/cfde_txtedtpage.cpp
|
| +++ b/xfa/fde/cfde_txtedtpage.cpp
|
| @@ -83,8 +83,6 @@ int32_t CFDE_TxtEdtPage::GetCharRect(int32_t nIndex,
|
| }
|
|
|
| int32_t CFDE_TxtEdtPage::GetCharIndex(const CFX_PointF& fPoint, bool& bBefore) {
|
| - bool bVertical = m_pEditEngine->GetEditParams()->dwLayoutStyles &
|
| - FDE_TEXTEDITLAYOUT_DocVertical;
|
| CFX_PointF ptF = fPoint;
|
| NormalizePt2Rect(ptF, m_rtPageContents, kTolerance);
|
| int32_t nCount = m_PieceMassArr.GetSize();
|
| @@ -95,18 +93,13 @@ int32_t CFDE_TxtEdtPage::GetCharIndex(const CFX_PointF& fPoint, bool& bBefore) {
|
| int32_t i = 0;
|
| for (i = 0; i < nCount; i++) {
|
| const FDE_TEXTEDITPIECE* pPiece = m_PieceMassArr.GetPtrAt(i);
|
| - if (!bInLine && (bVertical ? (pPiece->rtPiece.left <= ptF.x &&
|
| - pPiece->rtPiece.right() > ptF.x)
|
| - : (pPiece->rtPiece.top <= ptF.y &&
|
| - pPiece->rtPiece.bottom() > ptF.y))) {
|
| + if (!bInLine &&
|
| + (pPiece->rtPiece.top <= ptF.y && pPiece->rtPiece.bottom() > ptF.y)) {
|
| nBgn = nEnd = i;
|
| rtLine = pPiece->rtPiece;
|
| bInLine = true;
|
| } else if (bInLine) {
|
| - if (bVertical ? (!(pPiece->rtPiece.left <= ptF.x &&
|
| - pPiece->rtPiece.right() > ptF.x))
|
| - : (pPiece->rtPiece.bottom() <= ptF.y ||
|
| - pPiece->rtPiece.top > ptF.y)) {
|
| + if (pPiece->rtPiece.bottom() <= ptF.y || pPiece->rtPiece.top > ptF.y) {
|
| nEnd = i - 1;
|
| break;
|
| } else {
|
| @@ -142,9 +135,7 @@ int32_t CFDE_TxtEdtPage::GetCharIndex(const CFX_PointF& fPoint, bool& bBefore) {
|
| bBefore = true;
|
| return nCaret;
|
| }
|
| - if (bVertical
|
| - ? (ptF.y > ((rectArr[j].top + rectArr[j].bottom()) / 2))
|
| - : (ptF.x > ((rectArr[j].left + rectArr[j].right()) / 2))) {
|
| + if (ptF.x > ((rectArr[j].left + rectArr[j].right()) / 2)) {
|
| bBefore = FX_IsOdd(pPiece->nBidiLevel);
|
| } else {
|
| bBefore = !FX_IsOdd(pPiece->nBidiLevel);
|
| @@ -293,15 +284,9 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox,
|
| m_pEndParag->LoadParag();
|
| m_pEndParag->GetLineRange(nEndLine - nEndLineInParag, nPageEnd, nTemp);
|
| nPageEnd += (nTemp - 1);
|
| - bool bVertial = pParams->dwLayoutStyles & FDE_TEXTEDITLAYOUT_DocVertical;
|
| - bool bLineReserve =
|
| - !!(pParams->dwLayoutStyles & FDE_TEXTEDITLAYOUT_LineReserve);
|
| - FX_FLOAT fLineStart =
|
| - bVertial
|
| - ? (bLineReserve ? (pParams->fPlateWidth - pParams->fLineSpace) : 0.0f)
|
| - : 0.0f;
|
| - FX_FLOAT fLineStep =
|
| - (bVertial && bLineReserve) ? (-pParams->fLineSpace) : pParams->fLineSpace;
|
| +
|
| + FX_FLOAT fLineStart = 0.0f;
|
| + FX_FLOAT fLineStep = pParams->fLineSpace;
|
| FX_FLOAT fLinePos = fLineStart;
|
| if (!m_pTextSet)
|
| m_pTextSet = pdfium::MakeUnique<CFDE_TxtEdtTextSet>(this);
|
| @@ -366,19 +351,13 @@ int32_t CFDE_TxtEdtPage::LoadPage(const CFX_RectF* pClipBox,
|
| }
|
| }
|
| }
|
| - if (pParams->dwLayoutStyles & FDE_TEXTEDITLAYOUT_DocVertical) {
|
| - TxtEdtPiece.rtPiece.left = fLinePos;
|
| - TxtEdtPiece.rtPiece.top = (FX_FLOAT)pPiece->m_iStartPos / 20000.0f;
|
| - TxtEdtPiece.rtPiece.width = pParams->fLineSpace;
|
| - TxtEdtPiece.rtPiece.height =
|
| - (FX_FLOAT)pPiece->m_iWidth / 20000.0f + fParaBreakWidth;
|
| - } else {
|
| - TxtEdtPiece.rtPiece.left = (FX_FLOAT)pPiece->m_iStartPos / 20000.0f;
|
| - TxtEdtPiece.rtPiece.top = fLinePos;
|
| - TxtEdtPiece.rtPiece.width =
|
| - (FX_FLOAT)pPiece->m_iWidth / 20000.0f + fParaBreakWidth;
|
| - TxtEdtPiece.rtPiece.height = pParams->fLineSpace;
|
| - }
|
| +
|
| + TxtEdtPiece.rtPiece.left = (FX_FLOAT)pPiece->m_iStartPos / 20000.0f;
|
| + TxtEdtPiece.rtPiece.top = fLinePos;
|
| + TxtEdtPiece.rtPiece.width =
|
| + (FX_FLOAT)pPiece->m_iWidth / 20000.0f + fParaBreakWidth;
|
| + TxtEdtPiece.rtPiece.height = pParams->fLineSpace;
|
| +
|
| if (bFirstPiece) {
|
| m_rtPageContents = TxtEdtPiece.rtPiece;
|
| bFirstPiece = false;
|
|
|