Wed, 05 Mar 2003 02:26:43 +0000
fixed Count for closed bookmarks, doesn't contribute to parent's Count.
1 /*
2 * t2p: Create a PDF file from the contents of one or more TIFF
3 * bilevel image files. The images in the resulting PDF file
4 * will be compressed using ITU-T T.6 (G4) fax encoding.
5 *
6 * PDF routines
7 * $Id: pdf_private.h,v 1.3 2003/03/04 17:58:36 eric Exp $
8 * Copyright 2001, 2002, 2003 Eric Smith <eric@brouhaha.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation. Note that permission is
13 * not granted to redistribute this program under the terms of any
14 * other version of the General Public License.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
24 */
27 struct pdf_page
28 {
29 pdf_file_handle pdf_file;
30 struct pdf_obj *page_dict;
31 struct pdf_obj *media_box;
32 struct pdf_obj *procset;
33 struct pdf_obj *resources;
35 char last_XObject_name;
36 struct pdf_obj *XObject_dict;
37 };
40 struct pdf_pages
41 {
42 struct pdf_obj *pages_dict;
43 struct pdf_obj *kids;
44 struct pdf_obj *count;
45 };
48 struct pdf_bookmark
49 {
50 struct pdf_obj *dict; /* indirect reference */
51 bool open;
53 struct pdf_bookmark *first;
54 struct pdf_bookmark *last;
56 /* the following fields don't appear in the root */
57 /* title and dest are in the dictionary but don't have
58 explicit fields in the C structure */
59 struct pdf_bookmark *parent;
60 struct pdf_bookmark *prev;
61 struct pdf_bookmark *next;
62 };
65 struct pdf_file
66 {
67 FILE *f;
68 struct pdf_obj *first_ind_obj;
69 struct pdf_obj *last_ind_obj;
70 long int xref_offset;
71 struct pdf_obj *catalog;
72 struct pdf_obj *info;
73 struct pdf_pages *root;
74 struct pdf_bookmark *outline_root;
75 struct pdf_obj *trailer_dict;
76 };