summaryrefslogtreecommitdiff
path: root/xfa/src/fdp/src/fde/fde_iterator.h
blob: 6ebd5c566f8f716aa473d2125e6a5a4c9b49679d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 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

#ifndef _FDE_ITERATOR_IMP
#define _FDE_ITERATOR_IMP
typedef struct _FDE_CANVASITEM : public CFX_Target {
    IFDE_CanvasSet	*pCanvas;
    FDE_HVISUALOBJ	hCanvas;
    FX_POSITION		hPos;
} FDE_CANVASITEM, * FDE_LPCANVASITEM;
class CFDE_VisualSetIterator : public IFDE_VisualSetIterator, public CFX_Target
{
public:
    CFDE_VisualSetIterator();
    ~CFDE_VisualSetIterator();
    virtual void			Release()
    {
        FDE_Delete this;
    }

    virtual FX_BOOL			AttachCanvas(IFDE_CanvasSet *pCanvas);
    virtual FX_BOOL			FilterObjects(FX_DWORD dwObjects = 0xFFFFFFFF);

    virtual void			Reset();
    virtual FDE_HVISUALOBJ	GetNext(IFDE_VisualSet *&pVisualSet, FDE_HVISUALOBJ *phCanvasObj = NULL, IFDE_CanvasSet **ppCanvasSet = NULL);
protected:
    FX_DWORD				m_dwFilter;
    CFX_StackTemplate<FDE_CANVASITEM>	m_CanvasStack;
};
#endif