diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-08-14 15:03:20 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-14 19:57:00 +0000 |
commit | 2d03e604b3979db45f6f2ea8c00c8d7fe0790790 (patch) | |
tree | ca8dd7b7115e66b5e72c1367cb5ddb6923b9dc7c /xfa/fde/cfde_visualsetiterator.cpp | |
parent | c068c8e1ac5d41ace2a89827601669e8b573ef48 (diff) | |
download | pdfium-2d03e604b3979db45f6f2ea8c00c8d7fe0790790.tar.xz |
Cleaning up the visual set iterator
This CL starts cleaning up the visual set iterator code.
Change-Id: I643dc9edeeb0c7ff06ccd34a1977f811675413d8
Reviewed-on: https://pdfium-review.googlesource.com/10615
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fde/cfde_visualsetiterator.cpp')
-rw-r--r-- | xfa/fde/cfde_visualsetiterator.cpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/xfa/fde/cfde_visualsetiterator.cpp b/xfa/fde/cfde_visualsetiterator.cpp deleted file mode 100644 index d5b6b1bfe7..0000000000 --- a/xfa/fde/cfde_visualsetiterator.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "xfa/fde/cfde_visualsetiterator.h" - -#include "xfa/fde/cfde_txtedtpage.h" - -CFDE_VisualSetIterator::CFDE_VisualSetIterator() : m_dwFilter(0) {} - -CFDE_VisualSetIterator::~CFDE_VisualSetIterator() {} - -bool CFDE_VisualSetIterator::AttachCanvas(CFDE_TxtEdtPage* pCanvas) { - ASSERT(pCanvas); - m_CanvasStack = std::stack<FDE_CANVASITEM>(); - - FDE_CANVASITEM canvas; - canvas.hCanvas = nullptr; - canvas.pCanvas = pCanvas; - canvas.pos = pCanvas->GetFirstPosition(); - if (canvas.pos == 0) - return false; - - m_CanvasStack.push(canvas); - return true; -} - -bool CFDE_VisualSetIterator::FilterObjects(uint32_t dwObjects) { - if (m_CanvasStack.empty()) - return false; - - while (m_CanvasStack.size() > 1) - m_CanvasStack.pop(); - - m_dwFilter = dwObjects; - - FDE_CANVASITEM* pCanvas = &m_CanvasStack.top(); - ASSERT(pCanvas && pCanvas->pCanvas); - - pCanvas->pos = pCanvas->pCanvas->GetFirstPosition(); - return pCanvas->pos != 0; -} - -void CFDE_VisualSetIterator::Reset() { - FilterObjects(m_dwFilter); -} - -FDE_TEXTEDITPIECE* CFDE_VisualSetIterator::GetNext( - IFDE_VisualSet*& pVisualSet, - FDE_TEXTEDITPIECE** phCanvasObj, - CFDE_TxtEdtPage** ppCanvasSet) { - while (!m_CanvasStack.empty()) { - FDE_CANVASITEM* pCanvas = &m_CanvasStack.top(); - if (pCanvas->pos == 0) { - if (m_CanvasStack.size() == 1) - break; - - m_CanvasStack.pop(); - continue; - } - do { - FDE_TEXTEDITPIECE* pObj = - pCanvas->pCanvas->GetNext(&pCanvas->pos, pVisualSet); - ASSERT(pObj); - - FDE_VISUALOBJTYPE eType = pVisualSet->GetType(); - uint32_t dwObj = (uint32_t)eType; - if ((m_dwFilter & dwObj) != 0) { - if (ppCanvasSet) - *ppCanvasSet = pCanvas->pCanvas; - if (phCanvasObj) - *phCanvasObj = pCanvas->hCanvas; - return pObj; - } - } while (pCanvas->pos != 0); - } - if (ppCanvasSet) - *ppCanvasSet = nullptr; - if (phCanvasObj) - *phCanvasObj = nullptr; - - pVisualSet = nullptr; - return nullptr; -} |