Skip to main content

pdf/object/types/
outline.rs

1use super::prelude::*;
2
3#[derive(Object, Debug, Clone, DataSize)]
4pub struct OutlineItem {
5    #[pdf(key = "Title")]
6    pub title: Option<PdfString>,
7
8    #[pdf(key = "Prev")]
9    pub prev: Option<Ref<OutlineItem>>,
10
11    #[pdf(key = "Next")]
12    pub next: Option<Ref<OutlineItem>>,
13
14    #[pdf(key = "First")]
15    pub first: Option<Ref<OutlineItem>>,
16
17    #[pdf(key = "Last")]
18    pub last: Option<Ref<OutlineItem>>,
19
20    #[pdf(key = "Count", default = "0")]
21    pub count: i32,
22
23    #[pdf(key = "Dest")]
24    pub dest: Option<Primitive>,
25
26    #[pdf(key = "A")]
27    pub action: Option<Action>,
28
29    #[pdf(key = "SE")]
30    pub se: Option<Dictionary>,
31
32    #[pdf(key = "C")]
33    pub color: Option<Vec<f32>>,
34
35    #[pdf(key = "F")]
36    pub flags: Option<i32>,
37}
38
39#[derive(Object, ObjectWrite, Clone, Debug, DataSize)]
40#[pdf(Type = "Outlines?")]
41pub struct Outlines {
42    #[pdf(key = "Count", default = "0")]
43    pub count: i32,
44
45    #[pdf(key = "First")]
46    pub first: Option<Ref<OutlineItem>>,
47
48    #[pdf(key = "Last")]
49    pub last: Option<Ref<OutlineItem>>,
50}