2 pdf.hh -- declare Pdf output data structures.
4 source file of the GNU LilyPond music typesetter
6 (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
20 DECLARE_SMOBS(Pdf_object,);
27 static void write_dict (FILE*, SCM);
28 static void write_stream (FILE*, SCM);
29 static void write_vector (FILE*, SCM);
30 static void typecheck (SCM);
31 static String escape_string (String);
33 String to_string () const;
34 void write_to_file (FILE*, bool) const;
37 bool is_indirect () const;
38 bool is_stream () const;
39 bool is_dict () const;
42 void set_value (SCM value);
44 friend class Pdf_file;
49 Link_array<Pdf_object> indirect_objects_;
50 Pdf_object *root_object_;
53 DECLARE_SMOBS(Pdf_file,);
57 void write_trailer ();
62 void set_root_document (Pdf_object *obj);
63 Pdf_file (String filename);
64 void make_indirect (Pdf_object *obj);
65 void write_object (Pdf_object *obj);
69 DECLARE_UNSMOB(Pdf_object, pdf_object);
70 DECLARE_UNSMOB(Pdf_file, pdf_file);