OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "core/fpdfapi/fpdf_page/include/cpdf_textobject.h" | 7 #include "core/fpdfapi/fpdf_page/include/cpdf_textobject.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_font/cpdf_cidfont.h" | 9 #include "core/fpdfapi/fpdf_font/cpdf_cidfont.h" |
10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" | 10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 obj->m_PosX = m_PosX; | 126 obj->m_PosX = m_PosX; |
127 obj->m_PosY = m_PosY; | 127 obj->m_PosY = m_PosY; |
128 return obj; | 128 return obj; |
129 } | 129 } |
130 | 130 |
131 CPDF_PageObject::Type CPDF_TextObject::GetType() const { | 131 CPDF_PageObject::Type CPDF_TextObject::GetType() const { |
132 return TEXT; | 132 return TEXT; |
133 } | 133 } |
134 | 134 |
135 void CPDF_TextObject::Transform(const CFX_Matrix& matrix) { | 135 void CPDF_TextObject::Transform(const CFX_Matrix& matrix) { |
136 m_TextState.GetPrivateCopy(); | |
137 CFX_Matrix text_matrix; | 136 CFX_Matrix text_matrix; |
138 GetTextMatrix(&text_matrix); | 137 GetTextMatrix(&text_matrix); |
139 text_matrix.Concat(matrix); | 138 text_matrix.Concat(matrix); |
140 FX_FLOAT* pTextMatrix = m_TextState.GetMatrix(); | 139 |
| 140 FX_FLOAT* pTextMatrix = m_TextState.GetMutableMatrix(); |
141 pTextMatrix[0] = text_matrix.GetA(); | 141 pTextMatrix[0] = text_matrix.GetA(); |
142 pTextMatrix[1] = text_matrix.GetC(); | 142 pTextMatrix[1] = text_matrix.GetC(); |
143 pTextMatrix[2] = text_matrix.GetB(); | 143 pTextMatrix[2] = text_matrix.GetB(); |
144 pTextMatrix[3] = text_matrix.GetD(); | 144 pTextMatrix[3] = text_matrix.GetD(); |
145 m_PosX = text_matrix.GetE(); | 145 m_PosX = text_matrix.GetE(); |
146 m_PosY = text_matrix.GetF(); | 146 m_PosY = text_matrix.GetF(); |
147 CalcPositionData(nullptr, nullptr, 0); | 147 CalcPositionData(nullptr, nullptr, 0); |
148 } | 148 } |
149 | 149 |
150 bool CPDF_TextObject::IsText() const { | 150 bool CPDF_TextObject::IsText() const { |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 m_PosY = y; | 380 m_PosY = y; |
381 m_Left += dx; | 381 m_Left += dx; |
382 m_Right += dx; | 382 m_Right += dx; |
383 m_Top += dy; | 383 m_Top += dy; |
384 m_Bottom += dy; | 384 m_Bottom += dy; |
385 } | 385 } |
386 | 386 |
387 void CPDF_TextObject::RecalcPositionData() { | 387 void CPDF_TextObject::RecalcPositionData() { |
388 CalcPositionData(nullptr, nullptr, 1); | 388 CalcPositionData(nullptr, nullptr, 1); |
389 } | 389 } |
OLD | NEW |