summaryrefslogtreecommitdiff
path: root/core/fpdftext
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-02-09 13:07:43 -0500
committerChromium commit bot <commit-bot@chromium.org>2017-02-09 19:02:55 +0000
commitafb44560a21298b3588b36cbaf45e2be50f2e75b (patch)
tree21f3ececad017e6be64a19c4370cfe9fd7f9c29c /core/fpdftext
parent67e4faaf8be0aebc67ebfb96d33933d9f9119d20 (diff)
downloadpdfium-afb44560a21298b3588b36cbaf45e2be50f2e75b.tar.xz
Remove Transform in favour of TransformPoint
This CL removes the two Transform() overrides from CFX_Matrix and calls the TransformPoint methods directly. In the case of the 4 param version the values were assigned to the out values before calling. Change-Id: Id633826caec75b848774dcda6cfdcef2dbf5a7db Reviewed-on: https://pdfium-review.googlesource.com/2573 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fpdftext')
-rw-r--r--core/fpdftext/cpdf_textpage.cpp36
1 files changed, 20 insertions, 16 deletions
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index e5e00168b9..55551dcfa0 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -245,7 +245,7 @@ std::vector<CFX_FloatRect> CPDF_TextPage::GetRectArray(int start,
CFX_Matrix matrix_reverse;
matrix_reverse.SetReverse(matrix);
- matrix_reverse.Transform(orgX, orgY);
+ matrix_reverse.TransformPoint(orgX, orgY);
rect.left = info_curchar.m_CharBox.left;
rect.right = info_curchar.m_CharBox.right;
if (pCurObj->GetFont()->GetTypeDescent()) {
@@ -253,7 +253,7 @@ std::vector<CFX_FloatRect> CPDF_TextPage::GetRectArray(int start,
pCurObj->GetFont()->GetTypeDescent() *
pCurObj->GetFontSize() / 1000;
FX_FLOAT xPosTemp = orgX;
- matrix.Transform(xPosTemp, rect.bottom);
+ matrix.TransformPoint(xPosTemp, rect.bottom);
} else {
rect.bottom = info_curchar.m_CharBox.bottom;
}
@@ -265,7 +265,7 @@ std::vector<CFX_FloatRect> CPDF_TextPage::GetRectArray(int start,
orgX +
GetCharWidth(info_curchar.m_CharCode, pCurObj->GetFont()) *
pCurObj->GetFontSize() / 1000;
- matrix.Transform(xPosTemp, rect.top);
+ matrix.TransformPoint(xPosTemp, rect.top);
} else {
rect.top = info_curchar.m_CharBox.top;
}
@@ -778,11 +778,11 @@ void CPDF_TextPage::ProcessTextObject(
prev_width > this_width ? prev_width / 4 : this_width / 4;
FX_FLOAT prev_x = prev_Obj.m_pTextObj->GetPosX(),
prev_y = prev_Obj.m_pTextObj->GetPosY();
- prev_Obj.m_formMatrix.Transform(prev_x, prev_y);
- m_DisplayMatrix.Transform(prev_x, prev_y);
+ prev_Obj.m_formMatrix.TransformPoint(prev_x, prev_y);
+ m_DisplayMatrix.TransformPoint(prev_x, prev_y);
FX_FLOAT this_x = pTextObj->GetPosX(), this_y = pTextObj->GetPosY();
- formMatrix.Transform(this_x, this_y);
- m_DisplayMatrix.Transform(this_x, this_y);
+ formMatrix.TransformPoint(this_x, this_y);
+ m_DisplayMatrix.TransformPoint(this_x, this_y);
if (FXSYS_fabs(this_y - prev_y) > threshold * 2) {
for (size_t i = 0; i < count; i++)
ProcessTextObject(m_LineObj[i]);
@@ -795,8 +795,8 @@ void CPDF_TextPage::ProcessTextObject(
PDFTEXT_Obj prev_text_obj = m_LineObj[i - 1];
FX_FLOAT Prev_x = prev_text_obj.m_pTextObj->GetPosX(),
Prev_y = prev_text_obj.m_pTextObj->GetPosY();
- prev_text_obj.m_formMatrix.Transform(Prev_x, Prev_y);
- m_DisplayMatrix.Transform(Prev_x, Prev_y);
+ prev_text_obj.m_formMatrix.TransformPoint(Prev_x, Prev_y);
+ m_DisplayMatrix.TransformPoint(Prev_x, Prev_y);
if (this_x >= Prev_x) {
m_LineObj.insert(m_LineObj.begin() + i, Obj);
break;
@@ -1117,8 +1117,10 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
m_TempTextBuf.AppendChar(TEXT_SPACE_CHAR);
charinfo.m_CharCode = CPDF_Font::kInvalidCharCode;
charinfo.m_Matrix = formMatrix;
- matrix.Transform(item.m_OriginX, item.m_OriginY, charinfo.m_OriginX,
- charinfo.m_OriginY);
+
+ charinfo.m_OriginX = item.m_OriginX;
+ charinfo.m_OriginY = item.m_OriginY;
+ matrix.TransformPoint(charinfo.m_OriginX, charinfo.m_OriginY);
charinfo.m_CharBox =
CFX_FloatRect(charinfo.m_OriginX, charinfo.m_OriginY,
charinfo.m_OriginX, charinfo.m_OriginY);
@@ -1140,10 +1142,12 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) {
charinfo.m_Flag = FPDFTEXT_CHAR_UNUNICODE;
else
charinfo.m_Flag = FPDFTEXT_CHAR_NORMAL;
+
charinfo.m_pTextObj = pTextObj;
- charinfo.m_OriginX = 0, charinfo.m_OriginY = 0;
- matrix.Transform(item.m_OriginX, item.m_OriginY, charinfo.m_OriginX,
- charinfo.m_OriginY);
+ charinfo.m_OriginX = item.m_OriginX;
+ charinfo.m_OriginY = item.m_OriginY;
+ matrix.TransformPoint(charinfo.m_OriginX, charinfo.m_OriginY);
+
FX_RECT rect =
charinfo.m_pTextObj->GetFont()->GetCharBBox(charinfo.m_CharCode);
charinfo.m_CharBox.top =
@@ -1338,8 +1342,8 @@ CPDF_TextPage::GenerateCharacter CPDF_TextPage::ProcessInsertObject(
prev_reverse.SetReverse(prev_matrix);
FX_FLOAT x = pObj->GetPosX();
FX_FLOAT y = pObj->GetPosY();
- formMatrix.Transform(x, y);
- prev_reverse.Transform(x, y);
+ formMatrix.TransformPoint(x, y);
+ prev_reverse.TransformPoint(x, y);
if (last_width < this_width)
threshold = prev_reverse.TransformDistance(threshold);
bool bNewline = false;