summaryrefslogtreecommitdiff
path: root/xfa/fde/cfde_visualsetiterator.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-08-14 15:03:20 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-14 19:57:00 +0000
commit2d03e604b3979db45f6f2ea8c00c8d7fe0790790 (patch)
treeca8dd7b7115e66b5e72c1367cb5ddb6923b9dc7c /xfa/fde/cfde_visualsetiterator.cpp
parentc068c8e1ac5d41ace2a89827601669e8b573ef48 (diff)
downloadpdfium-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.cpp86
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;
-}