diff options
Diffstat (limited to 'fpdfsdk/cpdfsdk_annotiterator.cpp')
-rw-r--r-- | fpdfsdk/cpdfsdk_annotiterator.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/fpdfsdk/cpdfsdk_annotiterator.cpp b/fpdfsdk/cpdfsdk_annotiterator.cpp index 0dcb5bd917..d85dbe46eb 100644 --- a/fpdfsdk/cpdfsdk_annotiterator.cpp +++ b/fpdfsdk/cpdfsdk_annotiterator.cpp @@ -26,20 +26,23 @@ bool CompareByTopDescending(const CPDFSDK_Annot* p1, const CPDFSDK_Annot* p2) { return GetAnnotRect(p1).top > GetAnnotRect(p2).top; } +CPDFSDK_AnnotIterator::TabOrder GetTabOrder(CPDFSDK_PageView* pPageView) { + CPDF_Page* pPDFPage = pPageView->GetPDFPage(); + ByteString sTabs = pPDFPage->GetDict()->GetStringFor("Tabs"); + if (sTabs == "R") + return CPDFSDK_AnnotIterator::ROW; + if (sTabs == "C") + return CPDFSDK_AnnotIterator::COLUMN; + return CPDFSDK_AnnotIterator::STRUCTURE; +} + } // namespace CPDFSDK_AnnotIterator::CPDFSDK_AnnotIterator(CPDFSDK_PageView* pPageView, CPDF_Annot::Subtype nAnnotSubtype) - : m_eTabOrder(STRUCTURE), - m_pPageView(pPageView), - m_nAnnotSubtype(nAnnotSubtype) { - CPDF_Page* pPDFPage = m_pPageView->GetPDFPage(); - ByteString sTabs = pPDFPage->GetDict()->GetStringFor("Tabs"); - if (sTabs == "R") - m_eTabOrder = ROW; - else if (sTabs == "C") - m_eTabOrder = COLUMN; - + : m_pPageView(pPageView), + m_nAnnotSubtype(nAnnotSubtype), + m_eTabOrder(GetTabOrder(pPageView)) { GenerateResults(); } |