| Index: core/src/fpdftext/text_int.h
|
| diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
|
| index 9e7073d24e887dc37ba78c18557931e82eb8821d..b0c79cd9bc7d64a2c7a42675f54a6165e54b0cb0 100644
|
| --- a/core/src/fpdftext/text_int.h
|
| +++ b/core/src/fpdftext/text_int.h
|
| @@ -7,7 +7,6 @@
|
| #ifndef CORE_SRC_FPDFTEXT_TEXT_INT_H_
|
| #define CORE_SRC_FPDFTEXT_TEXT_INT_H_
|
|
|
| -class CPDF_TextPage;
|
| class CPDF_LinkExtract;
|
| class CPDF_TextPageFind;
|
| class CPDF_DocProgressiveSearch;
|
| @@ -42,53 +41,52 @@ typedef struct {
|
| CFX_AffineMatrix m_formMatrix;
|
| } PDFTEXT_Obj;
|
| typedef CFX_ArrayTemplate<PDFTEXT_Obj> LINEOBJ;
|
| +
|
| class CPDF_TextPage : public IPDF_TextPage {
|
| public:
|
| CPDF_TextPage(const CPDF_Page* pPage, int flags = 0);
|
| CPDF_TextPage(const CPDF_PageObjects* pPage, int flags = 0);
|
| CPDF_TextPage(const CPDF_Page* pPage, CPDFText_ParseOptions ParserOptions);
|
| - virtual FX_BOOL ParseTextPage();
|
| - virtual void NormalizeObjects(FX_BOOL bNormalize);
|
| - virtual FX_BOOL IsParsered() const { return m_IsParsered; }
|
| - virtual ~CPDF_TextPage(){};
|
| -
|
| - public:
|
| - virtual int CharIndexFromTextIndex(int TextIndex) const;
|
| - virtual int TextIndexFromCharIndex(int CharIndex) const;
|
| - virtual int CountChars() const;
|
| - virtual void GetCharInfo(int index, FPDF_CHAR_INFO& info) const;
|
| - virtual void GetRectArray(int start,
|
| - int nCount,
|
| - CFX_RectArray& rectArray) const;
|
| - virtual int GetIndexAtPos(CPDF_Point point,
|
| - FX_FLOAT xTolerance,
|
| - FX_FLOAT yTolerance) const;
|
| - virtual int GetIndexAtPos(FX_FLOAT x,
|
| - FX_FLOAT y,
|
| - FX_FLOAT xTolerance,
|
| - FX_FLOAT yTolerance) const;
|
| - virtual CFX_WideString GetTextByRect(const CFX_FloatRect& rect) const;
|
| - virtual void GetRectsArrayByRect(const CFX_FloatRect& rect,
|
| - CFX_RectArray& resRectArray) const;
|
| - virtual CFX_WideString GetPageText(int start = 0, int nCount = -1) const;
|
| -
|
| - virtual int CountRects(int start, int nCount);
|
| - virtual void GetRect(int rectIndex,
|
| - FX_FLOAT& left,
|
| - FX_FLOAT& top,
|
| - FX_FLOAT& right,
|
| - FX_FLOAT& bottom) const;
|
| - virtual FX_BOOL GetBaselineRotate(int rectIndex, int& Rotate);
|
| - virtual FX_BOOL GetBaselineRotate(const CFX_FloatRect& rect, int& Rotate);
|
| - virtual int CountBoundedSegments(FX_FLOAT left,
|
| - FX_FLOAT top,
|
| - FX_FLOAT right,
|
| - FX_FLOAT bottom,
|
| - FX_BOOL bContains = FALSE);
|
| - virtual void GetBoundedSegment(int index, int& start, int& count) const;
|
| - virtual int GetWordBreak(int index, int direction) const;
|
| + ~CPDF_TextPage() override{};
|
| +
|
| + // IPDF_TextPage
|
| + FX_BOOL ParseTextPage() override;
|
| + void NormalizeObjects(FX_BOOL bNormalize) override;
|
| + FX_BOOL IsParsered() const override { return m_IsParsered; }
|
| + int CharIndexFromTextIndex(int TextIndex) const override;
|
| + int TextIndexFromCharIndex(int CharIndex) const override;
|
| + int CountChars() const override;
|
| + void GetCharInfo(int index, FPDF_CHAR_INFO& info) const override;
|
| + void GetRectArray(int start,
|
| + int nCount,
|
| + CFX_RectArray& rectArray) const override;
|
| + int GetIndexAtPos(CPDF_Point point,
|
| + FX_FLOAT xTolerance,
|
| + FX_FLOAT yTolerance) const override;
|
| + int GetIndexAtPos(FX_FLOAT x,
|
| + FX_FLOAT y,
|
| + FX_FLOAT xTolerance,
|
| + FX_FLOAT yTolerance) const override;
|
| + CFX_WideString GetTextByRect(const CFX_FloatRect& rect) const override;
|
| + void GetRectsArrayByRect(const CFX_FloatRect& rect,
|
| + CFX_RectArray& resRectArray) const override;
|
| + CFX_WideString GetPageText(int start = 0, int nCount = -1) const override;
|
| + int CountRects(int start, int nCount) override;
|
| + void GetRect(int rectIndex,
|
| + FX_FLOAT& left,
|
| + FX_FLOAT& top,
|
| + FX_FLOAT& right,
|
| + FX_FLOAT& bottom) const override;
|
| + FX_BOOL GetBaselineRotate(int rectIndex, int& Rotate) override;
|
| + FX_BOOL GetBaselineRotate(const CFX_FloatRect& rect, int& Rotate) override;
|
| + int CountBoundedSegments(FX_FLOAT left,
|
| + FX_FLOAT top,
|
| + FX_FLOAT right,
|
| + FX_FLOAT bottom,
|
| + FX_BOOL bContains = FALSE) override;
|
| + void GetBoundedSegment(int index, int& start, int& count) const override;
|
| + int GetWordBreak(int index, int direction) const override;
|
|
|
| - public:
|
| const PAGECHAR_InfoArray* GetCharList() const { return &m_charList; }
|
| static FX_BOOL IsRectIntersect(const CFX_FloatRect& rect1,
|
| const CFX_FloatRect& rect2);
|
| @@ -147,21 +145,21 @@ class CPDF_TextPage : public IPDF_TextPage {
|
| int32_t m_TextlineDir;
|
| CFX_FloatRect m_CurlineRect;
|
| };
|
| +
|
| class CPDF_TextPageFind : public IPDF_TextPageFind {
|
| public:
|
| CPDF_TextPageFind(const IPDF_TextPage* pTextPage);
|
| - virtual ~CPDF_TextPageFind(){};
|
| -
|
| - public:
|
| - virtual FX_BOOL FindFirst(const CFX_WideString& findwhat,
|
| - int flags,
|
| - int startPos = 0);
|
| - virtual FX_BOOL FindNext();
|
| - virtual FX_BOOL FindPrev();
|
| -
|
| - virtual void GetRectArray(CFX_RectArray& rects) const;
|
| - virtual int GetCurOrder() const;
|
| - virtual int GetMatchedCount() const;
|
| + ~CPDF_TextPageFind() override{};
|
| +
|
| + // IPDF_TextPageFind
|
| + FX_BOOL FindFirst(const CFX_WideString& findwhat,
|
| + int flags,
|
| + int startPos = 0) override;
|
| + FX_BOOL FindNext() override;
|
| + FX_BOOL FindPrev() override;
|
| + void GetRectArray(CFX_RectArray& rects) const override;
|
| + int GetCurOrder() const override;
|
| + int GetMatchedCount() const override;
|
|
|
| protected:
|
| void ExtractFindWhat(const CFX_WideString& findwhat);
|
| @@ -203,19 +201,22 @@ class CPDF_LinkExt {
|
| CFX_WideString m_strUrl;
|
| virtual ~CPDF_LinkExt(){};
|
| };
|
| +
|
| typedef CFX_ArrayTemplate<CPDF_LinkExt*> LINK_InfoArray;
|
| +
|
| class CPDF_LinkExtract : public IPDF_LinkExtract {
|
| public:
|
| CPDF_LinkExtract();
|
| - virtual ~CPDF_LinkExtract();
|
| - virtual FX_BOOL ExtractLinks(const IPDF_TextPage* pTextPage);
|
| - virtual FX_BOOL IsExtract() const { return m_IsParserd; }
|
| + ~CPDF_LinkExtract() override;
|
|
|
| - public:
|
| - virtual int CountLinks() const;
|
| - virtual CFX_WideString GetURL(int index) const;
|
| - virtual void GetBoundedSegment(int index, int& start, int& count) const;
|
| - virtual void GetRects(int index, CFX_RectArray& rects) const;
|
| + // IPDF_LinkExtract
|
| + FX_BOOL ExtractLinks(const IPDF_TextPage* pTextPage) override;
|
| + int CountLinks() const override;
|
| + CFX_WideString GetURL(int index) const override;
|
| + void GetBoundedSegment(int index, int& start, int& count) const override;
|
| + void GetRects(int index, CFX_RectArray& rects) const override;
|
| +
|
| + FX_BOOL IsExtract() const { return m_IsParserd; }
|
|
|
| protected:
|
| void parserLink();
|
| @@ -230,6 +231,7 @@ class CPDF_LinkExtract : public IPDF_LinkExtract {
|
| CFX_WideString m_strPageText;
|
| FX_BOOL m_IsParserd;
|
| };
|
| +
|
| FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst);
|
| void NormalizeString(CFX_WideString& str);
|
| void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest);
|
|
|