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