diff options
author | Luigi Scarso <luigi.scarso@gmail.com> | 2018-09-05 21:30:41 +0000 |
---|---|---|
committer | Luigi Scarso <luigi.scarso@gmail.com> | 2018-09-05 21:30:41 +0000 |
commit | 1b8b254a766350291f8e7e19feaf6326ebabe633 (patch) | |
tree | 8a20823763635906b94a68b72541a10dc6f91377 /Build/source/texk/web2c/luatexdir/pdf/pdfgen.h | |
parent | ef7aedbc1cabb3eebb59082e349f9792c9c4d3c1 (diff) |
sync with luatex revision 6924.
git-svn-id: svn://tug.org/texlive/trunk@48591 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/pdf/pdfgen.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/pdf/pdfgen.h | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h b/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h index 01b0e74cd1e..00df7f36ed3 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h +++ b/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h @@ -114,6 +114,19 @@ printing ones but the output is going to PDF buffer. Subroutines with suffix pdf_out(pdf, '\n'); \ } while (0) +#define pdf_check_space(pdf) do { \ + if (pdf->cave > 0) { \ + pdf_out(pdf, ' '); \ + pdf->cave = 0; \ + } \ +} while (0) + +#define pdf_set_space(pdf) \ + pdf->cave = 1; + +#define pdf_reset_space(pdf) \ + pdf->cave = 0; + extern __attribute__ ((format(printf, 2, 3))) void pdf_printf(PDF, const char *, ...); @@ -125,6 +138,7 @@ extern void pdf_print_str(PDF, const char *); extern void pdf_add_null(PDF); extern void pdf_add_bool(PDF, int i); extern void pdf_add_int(PDF, int i); +extern void pdf_add_real(PDF, double d); extern void pdf_add_longint(PDF, longinteger n); extern void pdf_add_ref(PDF, int num); extern void pdf_add_string(PDF, const char *s); @@ -140,6 +154,18 @@ extern void pdf_dict_add_streaminfo(PDF); extern void pdf_begin_stream(PDF); extern void pdf_end_stream(PDF); +typedef unsigned char BYTE; +typedef unsigned long ULONG; + +typedef struct { + ULONG length; + BYTE *data; +} pdf_obj; + +extern pdf_obj *pdf_new_stream(void); +extern void pdf_add_stream(pdf_obj * stream, unsigned char *buf, long len); +extern void pdf_release_obj(pdf_obj * stream); + extern void pdf_add_bp(PDF, scaled); extern strbuf_s *new_strbuf(size_t size, size_t limit); @@ -191,8 +217,6 @@ extern char *convertStringToPDFString(const char *in, int len); extern void initialize_start_time(PDF); extern char *getcreationdate(PDF); -extern void check_o_mode(PDF pdf, const char *s, int o_mode, boolean errorflag); - extern void set_job_id(PDF, int, int, int, int); extern char *get_resname_prefix(PDF); extern void pdf_begin_page(PDF pdf); @@ -201,6 +225,10 @@ extern void print_pdf_table_string(PDF pdf, const char *s); extern const char *get_pdf_table_string(const char *s); extern int get_pdf_table_bool(PDF, const char *, int); +extern void pdf_open_file(PDF pdf); +extern void pdf_write_header(PDF pdf); +extern void pdf_finish_file(PDF pdf, int fatal_error); + extern void ensure_output_state(PDF pdf, output_state s); extern PDF init_pdf_struct(PDF pdf); @@ -210,8 +238,18 @@ extern halfword pdf_catalog_openaction; extern halfword pdf_names_toks; /* additional keys of Names dictionary */ extern halfword pdf_trailer_toks; /* additional keys of Trailer dictionary */ extern void scan_pdfcatalog(PDF pdf); -extern void finish_pdf_file(PDF pdf, int luatex_version, str_number luatex_revision); extern shipping_mode_e global_shipping_mode; +extern void pdf_push_list(PDF pdf, scaledpos *saved_pos, int *saved_loc); +extern void pdf_pop_list(PDF pdf, scaledpos *saved_pos, int *saved_loc); + +extern void pdf_set_reference_point(PDF pdf, posstructure *refpoint); + +/* not pdf specific */ + +extern void check_o_mode(PDF pdf, const char *s, int o_mode, boolean errorflag); +extern void ensure_output_file_open(PDF pdf, const char *ext); + + #endif |