Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2702)

Unified Diff: core/fpdftext/include/cpdf_textpage.h

Issue 2064223002: Clean up CPDF_TextPage. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: Fix breakage, do a bit more refactoring Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/fpdftext/fpdf_text_int.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/fpdftext/include/cpdf_textpage.h
diff --git a/core/fpdftext/include/cpdf_textpage.h b/core/fpdftext/include/cpdf_textpage.h
index c7c673c23e6e1f9417738309ad8c05364512c9b2..0c1efdf34ad14b5aa4f0a3d6179e2cb3ce4a1254 100644
--- a/core/fpdftext/include/cpdf_textpage.h
+++ b/core/fpdftext/include/cpdf_textpage.h
@@ -99,6 +99,19 @@ class CPDF_TextPage {
FX_BOOL bContains = FALSE);
private:
+ enum class TextOrientation {
+ Unknown,
+ Horizontal,
+ Vertical,
+ };
+
+ enum class GenerateCharacter {
+ None,
+ Space,
+ LineBreak,
+ Hyphen,
+ };
+
FX_BOOL IsHyphen(FX_WCHAR curChar);
bool IsControlChar(const PAGECHAR_INFO& charInfo);
void ProcessObject();
@@ -109,8 +122,8 @@ class CPDF_TextPage {
const CFX_Matrix& formMatrix,
const CPDF_PageObjectList* pObjList,
CPDF_PageObjectList::const_iterator ObjPos);
- int ProcessInsertObject(const CPDF_TextObject* pObj,
- const CFX_Matrix& formMatrix);
+ GenerateCharacter ProcessInsertObject(const CPDF_TextObject* pObj,
+ const CFX_Matrix& formMatrix);
FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info);
FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj,
const CPDF_PageObjectList* pObjList,
@@ -122,11 +135,13 @@ class CPDF_TextPage {
FPDFText_MarkedContent PreMarkedContent(PDFTEXT_Obj pObj);
void ProcessMarkedContent(PDFTEXT_Obj pObj);
void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const;
- void FindPreviousTextObject(void);
+ void FindPreviousTextObject();
void AddCharInfoByLRDirection(FX_WCHAR wChar, PAGECHAR_INFO info);
void AddCharInfoByRLDirection(FX_WCHAR wChar, PAGECHAR_INFO info);
- int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj);
- int32_t FindTextlineFlowDirection();
+ TextOrientation GetTextObjectWritingMode(
+ const CPDF_TextObject* pTextObj) const;
+ TextOrientation FindTextlineFlowOrientation() const;
+ void AppendGeneratedCharacter(FX_WCHAR unicode, const CFX_Matrix& formMatrix);
void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend);
FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj,
@@ -147,7 +162,7 @@ class CPDF_TextPage {
CFX_ArrayTemplate<FPDF_SEGMENT> m_Segments;
std::vector<CFX_FloatRect> m_SelRects;
CFX_ArrayTemplate<PDFTEXT_Obj> m_LineObj;
- int32_t m_TextlineDir;
+ TextOrientation m_TextlineDir;
CFX_FloatRect m_CurlineRect;
};
« no previous file with comments | « core/fpdftext/fpdf_text_int.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698