Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fdp / src / fde / fde_iterator.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _FDE_ITERATOR_IMP\r
8 #define _FDE_ITERATOR_IMP\r
9 typedef struct _FDE_CANVASITEM : public CFX_Target {\r
10     IFDE_CanvasSet      *pCanvas;\r
11     FDE_HVISUALOBJ      hCanvas;\r
12     FX_POSITION         hPos;\r
13 } FDE_CANVASITEM, * FDE_LPCANVASITEM;\r
14 class CFDE_VisualSetIterator : public IFDE_VisualSetIterator, public CFX_Target\r
15 {\r
16 public:\r
17     CFDE_VisualSetIterator();\r
18     ~CFDE_VisualSetIterator();\r
19     virtual void                        Release()\r
20     {\r
21         FDE_Delete this;\r
22     }\r
23 \r
24     virtual FX_BOOL                     AttachCanvas(IFDE_CanvasSet *pCanvas);\r
25     virtual FX_BOOL                     FilterObjects(FX_DWORD dwObjects = 0xFFFFFFFF);\r
26 \r
27     virtual void                        Reset();\r
28     virtual FDE_HVISUALOBJ      GetNext(IFDE_VisualSet *&pVisualSet, FDE_HVISUALOBJ *phCanvasObj = NULL, IFDE_CanvasSet **ppCanvasSet = NULL);\r
29 protected:\r
30     FX_DWORD                            m_dwFilter;\r
31     CFX_StackTemplate<FDE_CANVASITEM>   m_CanvasStack;\r
32 };\r
33 #endif\r