diff options
author | Tom Sepez <tsepez@chromium.org> | 2016-02-01 13:42:30 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2016-02-01 13:42:30 -0800 |
commit | b9cc7a0d0ece261db2cd2a1486b05e3338bca322 (patch) | |
tree | c91de6c7848ce9cdf6eaab0a84fac27064a00c48 /fpdfsdk/include/fsdk_baseform.h | |
parent | 58fb36a3de3174db41669c2ed0d67e4a18a4a6de (diff) | |
download | pdfium-b9cc7a0d0ece261db2cd2a1486b05e3338bca322.tar.xz |
Merge to XFA: Remove CGW_ArrayTemplate and its O(n^2 log n) sort.
Original Review URL: https://codereview.chromium.org/1652613002 .
(cherry picked from commit 0841b0f37678ba4962247f5636e9390718fc027e)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1657663003 .
Diffstat (limited to 'fpdfsdk/include/fsdk_baseform.h')
-rw-r--r-- | fpdfsdk/include/fsdk_baseform.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h index 023ea74148..0d72639b9b 100644 --- a/fpdfsdk/include/fsdk_baseform.h +++ b/fpdfsdk/include/fsdk_baseform.h @@ -14,12 +14,13 @@ #endif #include <map> +#include <vector> #include "core/include/fpdfapi/fpdf_parser.h" #include "core/include/fpdfdoc/fpdf_doc.h" #include "core/include/fxcrt/fx_basic.h" #include "core/include/fxge/fx_dib.h" -#include "fsdk_baseannot.h" +#include "fpdfsdk/include/fsdk_baseannot.h" class CFFL_FormFiller; class CPDFSDK_Annot; @@ -373,14 +374,10 @@ class CPDFSDK_InterForm : public CPDF_FormNotify { FX_BOOL m_bNeedHightlight[kNumFieldTypes]; }; -#define BAI_STRUCTURE 0 -#define BAI_ROW 1 -#define BAI_COLUMN 2 - -#define CPDFSDK_Annots CFX_ArrayTemplate<CPDFSDK_Annot*> -#define CPDFSDK_SortAnnots CGW_ArrayTemplate<CPDFSDK_Annot*> class CBA_AnnotIterator { public: + enum TabOrder { STRUCTURE = 0, ROW, COLUMN }; + CBA_AnnotIterator(CPDFSDK_PageView* pPageView, const CFX_ByteString& sType, const CFX_ByteString& sSubType); @@ -393,15 +390,19 @@ class CBA_AnnotIterator { private: void GenerateResults(); - static int CompareByLeft(CPDFSDK_Annot* p1, CPDFSDK_Annot* p2); - static int CompareByTop(CPDFSDK_Annot* p1, CPDFSDK_Annot* p2); - static CPDF_Rect GetAnnotRect(CPDFSDK_Annot* pAnnot); + static CPDF_Rect GetAnnotRect(const CPDFSDK_Annot* pAnnot); + + // Function signature compatible with std::sort(). + static bool CompareByLeftAscending(const CPDFSDK_Annot* p1, + const CPDFSDK_Annot* p2); + static bool CompareByTopDescending(const CPDFSDK_Annot* p1, + const CPDFSDK_Annot* p2); + TabOrder m_eTabOrder; CPDFSDK_PageView* m_pPageView; CFX_ByteString m_sType; CFX_ByteString m_sSubType; - int m_nTabs; - CPDFSDK_Annots m_Annots; + std::vector<CPDFSDK_Annot*> m_Annots; }; #endif // FPDFSDK_INCLUDE_FSDK_BASEFORM_H_ |