Index: core/fpdfdoc/cpdf_variabletext.cpp |
diff --git a/core/fpdfdoc/cpdf_variabletext.cpp b/core/fpdfdoc/cpdf_variabletext.cpp |
index a4f9d8923f0d5d525c1ab25a734760c20faafd9e..040b7e60512546d2d8910d764b34a85640844496 100644 |
--- a/core/fpdfdoc/cpdf_variabletext.cpp |
+++ b/core/fpdfdoc/cpdf_variabletext.cpp |
@@ -8,6 +8,7 @@ |
#include "core/fpdfapi/fpdf_font/include/cpdf_font.h" |
#include "core/fpdfdoc/cpvt_wordinfo.h" |
+#include "core/fpdfdoc/cline.h" |
#include "core/fpdfdoc/csection.h" |
#include "core/fpdfdoc/include/cpvt_section.h" |
#include "core/fpdfdoc/include/cpvt_word.h" |
@@ -756,15 +757,19 @@ FX_BOOL CPDF_VariableText::GetSectionInfo(const CPVT_WordPlace& place, |
} |
void CPDF_VariableText::SetPlateRect(const CFX_FloatRect& rect) { |
- CPDF_EditContainer::SetPlateRect(rect); |
+ m_rcPlate = rect; |
+} |
+ |
+void CPDF_VariableText::SetContentRect(const CPVT_FloatRect& rect) { |
+ m_rcContent = rect; |
} |
CFX_FloatRect CPDF_VariableText::GetContentRect() const { |
- return InToOut(CPVT_FloatRect(CPDF_EditContainer::GetContentRect())); |
+ return InToOut(CPVT_FloatRect(m_rcContent)); |
} |
const CFX_FloatRect& CPDF_VariableText::GetPlateRect() const { |
- return CPDF_EditContainer::GetPlateRect(); |
+ return m_rcPlate; |
} |
FX_FLOAT CPDF_VariableText::GetWordFontSize(const CPVT_WordInfo& WordInfo) { |
@@ -1103,3 +1108,39 @@ CPDF_VariableText::Iterator* CPDF_VariableText::GetIterator() { |
void CPDF_VariableText::SetProvider(CPDF_VariableText::Provider* pProvider) { |
m_pVTProvider = pProvider; |
} |
+ |
+CFX_SizeF CPDF_VariableText::GetPlateSize() const { |
+ return CFX_SizeF(GetPlateWidth(), GetPlateHeight()); |
+} |
+ |
+CFX_FloatPoint CPDF_VariableText::GetBTPoint() const { |
+ return CFX_FloatPoint(m_rcPlate.left, m_rcPlate.top); |
+} |
+ |
+CFX_FloatPoint CPDF_VariableText::GetETPoint() const { |
+ return CFX_FloatPoint(m_rcPlate.right, m_rcPlate.bottom); |
+} |
+ |
+CFX_FloatPoint CPDF_VariableText::InToOut(const CFX_FloatPoint& point) const { |
+ return CFX_FloatPoint(point.x + GetBTPoint().x, GetBTPoint().y - point.y); |
+} |
+ |
+CFX_FloatPoint CPDF_VariableText::OutToIn(const CFX_FloatPoint& point) const { |
+ return CFX_FloatPoint(point.x - GetBTPoint().x, GetBTPoint().y - point.y); |
+} |
+ |
+CFX_FloatRect CPDF_VariableText::InToOut(const CPVT_FloatRect& rect) const { |
+ CFX_FloatPoint ptLeftTop = InToOut(CFX_FloatPoint(rect.left, rect.top)); |
+ CFX_FloatPoint ptRightBottom = |
+ InToOut(CFX_FloatPoint(rect.right, rect.bottom)); |
+ return CFX_FloatRect(ptLeftTop.x, ptRightBottom.y, ptRightBottom.x, |
+ ptLeftTop.y); |
+} |
+ |
+CPVT_FloatRect CPDF_VariableText::OutToIn(const CFX_FloatRect& rect) const { |
+ CFX_FloatPoint ptLeftTop = OutToIn(CFX_FloatPoint(rect.left, rect.top)); |
+ CFX_FloatPoint ptRightBottom = |
+ OutToIn(CFX_FloatPoint(rect.right, rect.bottom)); |
+ return CPVT_FloatRect(ptLeftTop.x, ptLeftTop.y, ptRightBottom.x, |
+ ptRightBottom.y); |
+} |