OLD | NEW |
| (Empty) |
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 CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ | |
8 #define CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ | |
9 | |
10 #include <vector> | |
11 | |
12 #include "core/fxcrt/include/fx_basic.h" | |
13 #include "core/fxcrt/include/fx_coordinates.h" | |
14 #include "core/fxcrt/include/fx_string.h" | |
15 #include "core/fxcrt/include/fx_system.h" | |
16 | |
17 class CPDF_TextPage; | |
18 | |
19 class CPDF_LinkExtract { | |
20 public: | |
21 explicit CPDF_LinkExtract(const CPDF_TextPage* pTextPage); | |
22 ~CPDF_LinkExtract(); | |
23 | |
24 void ExtractLinks(); | |
25 size_t CountLinks() const { return m_LinkArray.size(); } | |
26 CFX_WideString GetURL(size_t index) const; | |
27 std::vector<CFX_FloatRect> GetRects(size_t index) const; | |
28 | |
29 protected: | |
30 void ParseLink(); | |
31 bool CheckWebLink(CFX_WideString& str); | |
32 bool CheckMailLink(CFX_WideString& str); | |
33 | |
34 private: | |
35 struct Link { | |
36 int m_Start; | |
37 int m_Count; | |
38 CFX_WideString m_strUrl; | |
39 }; | |
40 | |
41 const CPDF_TextPage* const m_pTextPage; | |
42 CFX_WideString m_strPageText; | |
43 std::vector<Link> m_LinkArray; | |
44 }; | |
45 | |
46 #endif // CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ | |
OLD | NEW |