Home | History | Annotate | Download | only in fpdfdoc
      1 // Copyright 2016 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 CORE_FPDFDOC_CPDF_LINKLIST_H_
      8 #define CORE_FPDFDOC_CPDF_LINKLIST_H_
      9 
     10 #include <map>
     11 #include <vector>
     12 
     13 #include "core/fpdfdoc/cpdf_link.h"
     14 #include "core/fxcrt/fx_system.h"
     15 
     16 class CPDF_Page;
     17 class CPDF_Dictionary;
     18 
     19 class CPDF_LinkList {
     20  public:
     21   CPDF_LinkList();
     22   ~CPDF_LinkList();
     23 
     24   CPDF_Link GetLinkAtPoint(CPDF_Page* pPage,
     25                            const CFX_PointF& point,
     26                            int* z_order);
     27 
     28  private:
     29   const std::vector<CPDF_Dictionary*>* GetPageLinks(CPDF_Page* pPage);
     30   void LoadPageLinks(CPDF_Page* pPage, std::vector<CPDF_Dictionary*>* pList);
     31 
     32   std::map<uint32_t, std::vector<CPDF_Dictionary*>> m_PageMap;
     33 };
     34 
     35 #endif  // CORE_FPDFDOC_CPDF_LINKLIST_H_
     36