1 | /* |
2 | * Copyright (C) 2009, Pino Toscano <pino@kde.org> |
3 | * Copyright (C) 2018, Albert Astals Cid <aacid@kde.org> |
4 | * Copyright (C) 2019, Oliver Sander <oliver.sander@tu-dresden.de> |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation; either version 2, or (at your option) |
9 | * any later version. |
10 | * |
11 | * This program is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | * GNU General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU General Public License |
17 | * along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
19 | */ |
20 | |
21 | #ifndef POPPLER_TOC_PRIVATE_H |
22 | #define POPPLER_TOC_PRIVATE_H |
23 | |
24 | #include "poppler-global.h" |
25 | #include "poppler-toc.h" |
26 | |
27 | #include <vector> |
28 | |
29 | class Outline; |
30 | class OutlineItem; |
31 | |
32 | namespace poppler { |
33 | |
34 | class toc_private |
35 | { |
36 | public: |
37 | toc_private(); |
38 | ~toc_private(); |
39 | |
40 | static toc *load_from_outline(Outline *outline); |
41 | |
42 | toc_item root; |
43 | }; |
44 | |
45 | class toc_item_private |
46 | { |
47 | public: |
48 | toc_item_private(); |
49 | ~toc_item_private(); |
50 | |
51 | toc_item_private(const toc_item_private &) = delete; |
52 | toc_item_private &operator=(const toc_item_private &) = delete; |
53 | |
54 | void load(const OutlineItem *item); |
55 | void load_children(const std::vector<OutlineItem *> *items); |
56 | |
57 | std::vector<toc_item *> children; |
58 | ustring title; |
59 | bool is_open; |
60 | }; |
61 | |
62 | } |
63 | |
64 | #endif |
65 | |