summaryrefslogtreecommitdiff
path: root/xfa/fde/fde_iterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fde/fde_iterator.cpp')
-rw-r--r--xfa/fde/fde_iterator.cpp61
1 files changed, 32 insertions, 29 deletions
diff --git a/xfa/fde/fde_iterator.cpp b/xfa/fde/fde_iterator.cpp
index 4356e22ee2..755bff543f 100644
--- a/xfa/fde/fde_iterator.cpp
+++ b/xfa/fde/fde_iterator.cpp
@@ -8,25 +8,26 @@
#include "xfa/fgas/crt/fgas_utils.h"
-IFDE_VisualSetIterator* IFDE_VisualSetIterator::Create() {
- return new CFDE_VisualSetIterator;
-}
CFDE_VisualSetIterator::CFDE_VisualSetIterator() : m_dwFilter(0) {}
+
CFDE_VisualSetIterator::~CFDE_VisualSetIterator() {
m_CanvasStack.RemoveAll();
}
+
FX_BOOL CFDE_VisualSetIterator::AttachCanvas(IFDE_CanvasSet* pCanvas) {
- FXSYS_assert(pCanvas != NULL);
+ FXSYS_assert(pCanvas);
+
m_CanvasStack.RemoveAll();
FDE_CANVASITEM canvas;
- canvas.hCanvas = NULL;
+ canvas.hCanvas = nullptr;
canvas.pCanvas = pCanvas;
- canvas.hPos = pCanvas->GetFirstPosition(NULL);
- if (canvas.hPos == NULL) {
+ canvas.hPos = pCanvas->GetFirstPosition(nullptr);
+ if (!canvas.hPos)
return FALSE;
- }
+
return m_CanvasStack.Push(canvas) == 0;
}
+
FX_BOOL CFDE_VisualSetIterator::FilterObjects(uint32_t dwObjects) {
if (m_CanvasStack.GetSize() == 0)
return FALSE;
@@ -37,30 +38,35 @@ FX_BOOL CFDE_VisualSetIterator::FilterObjects(uint32_t dwObjects) {
m_dwFilter = dwObjects;
FDE_CANVASITEM* pCanvas = m_CanvasStack.GetTopElement();
- FXSYS_assert(pCanvas != NULL && pCanvas->pCanvas != NULL);
- pCanvas->hPos = pCanvas->pCanvas->GetFirstPosition(NULL);
- return pCanvas->hPos != NULL;
+ FXSYS_assert(pCanvas && pCanvas->pCanvas);
+
+ pCanvas->hPos = pCanvas->pCanvas->GetFirstPosition(nullptr);
+ return !!pCanvas->hPos;
}
+
void CFDE_VisualSetIterator::Reset() {
FilterObjects(m_dwFilter);
}
+
FDE_HVISUALOBJ CFDE_VisualSetIterator::GetNext(IFDE_VisualSet*& pVisualSet,
FDE_HVISUALOBJ* phCanvasObj,
IFDE_CanvasSet** ppCanvasSet) {
while (m_CanvasStack.GetSize() > 0) {
FDE_CANVASITEM* pCanvas = m_CanvasStack.GetTopElement();
- FXSYS_assert(pCanvas != NULL && pCanvas->pCanvas != NULL);
- if (pCanvas->hPos == NULL) {
- if (m_CanvasStack.GetSize() == 1) {
+ FXSYS_assert(pCanvas && pCanvas->pCanvas);
+
+ if (!pCanvas->hPos) {
+ if (m_CanvasStack.GetSize() == 1)
break;
- }
+
m_CanvasStack.Pop();
continue;
}
do {
FDE_HVISUALOBJ hObj = pCanvas->pCanvas->GetNext(
pCanvas->hCanvas, pCanvas->hPos, pVisualSet);
- FXSYS_assert(hObj != NULL);
+ FXSYS_assert(hObj);
+
FDE_VISUALOBJTYPE eType = pVisualSet->GetType();
if (eType == FDE_VISUALOBJ_Canvas) {
FDE_CANVASITEM canvas;
@@ -72,22 +78,19 @@ FDE_HVISUALOBJ CFDE_VisualSetIterator::GetNext(IFDE_VisualSet*& pVisualSet,
}
uint32_t dwObj = (uint32_t)eType;
if ((m_dwFilter & dwObj) != 0) {
- if (ppCanvasSet) {
+ if (ppCanvasSet)
*ppCanvasSet = pCanvas->pCanvas;
- }
- if (phCanvasObj) {
+ if (phCanvasObj)
*phCanvasObj = pCanvas->hCanvas;
- }
return hObj;
}
- } while (pCanvas->hPos != NULL);
- }
- if (ppCanvasSet) {
- *ppCanvasSet = NULL;
+ } while (pCanvas->hPos);
}
- if (phCanvasObj) {
- *phCanvasObj = NULL;
- }
- pVisualSet = NULL;
- return NULL;
+ if (ppCanvasSet)
+ *ppCanvasSet = nullptr;
+ if (phCanvasObj)
+ *phCanvasObj = nullptr;
+
+ pVisualSet = nullptr;
+ return nullptr;
}