diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/pdf/pdfpage.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/pdf/pdfpage.h | 67 |
1 files changed, 15 insertions, 52 deletions
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.h b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.h index 1c9ccb02569..39a15ab5ff9 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.h +++ b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.h @@ -17,74 +17,37 @@ You should have received a copy of the GNU General Public License along with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */ -/* $Id: pdfpage.h 2448 2009-06-08 07:43:50Z taco $ */ +/* $Id: pdfpage.h 3003 2009-08-16 19:55:55Z hhenkel $ */ #ifndef PDFPAGE_H # define PDFPAGE_H -typedef struct { - long m; /* mantissa (significand) */ - int e; /* exponent * -1 */ -} pdffloat; - -typedef struct { - pdffloat h; - pdffloat v; -} pdfpos; - -typedef enum { PMODE_NONE, PMODE_PAGE, PMODE_TEXT, PMODE_CHARARRAY, - PMODE_CHAR -} pos_mode; - -typedef enum { WMODE_H, WMODE_V } writing_mode; /* []TJ runs horizontal or vertical */ - # define is_pagemode(p) ((p)->mode == PMODE_PAGE) # define is_textmode(p) ((p)->mode == PMODE_TEXT) # define is_chararraymode(p) ((p)->mode == PMODE_CHARARRAY) # define is_charmode(p) ((p)->mode == PMODE_CHAR) -# define setpdffloat(a,b,c) {(a).m = (b); (a).e = (c);} +# define setpdffloat(a,b,c) do {(a).m = (b); (a).e = (c);} while (0) # ifdef hz /* AIX 4.3 defines hz as 100 in system headers */ # undef hz # endif -typedef struct { - pdfpos pdf; /* pos. on page (PDF page raster) */ - pdfpos pdf_bt_pos; /* pos. at begin of BT-ET group (PDF page raster) */ - pdfpos pdf_tj_pos; /* pos. at begin of TJ array (PDF page raster) */ - pdffloat cw; /* pos. within [(..)..]TJ array (glyph raster); - cw.e = fractional digits in /Widths array */ - pdffloat tj_delta; /* rel. movement in [(..)..]TJ array (glyph raster) */ - pdffloat fs; /* font size in PDF units */ - pdffloat hz; /* HZ expansion factor */ - pdffloat ext; /* ExtendFont factor */ - pdffloat cm[6]; /* cm array */ - pdffloat tm[6]; /* Tm array */ - double k1; /* conv. factor from TeX sp to PDF page raster */ - double k2; /* conv. factor from PDF page raster to TJ array raster */ - internal_font_number f_cur; /* TeX font number */ - internal_font_number f_pdf; /* /F* font number, of unexpanded base font! */ - writing_mode wmode; /* PDF writing mode WMode (horizontal/vertical) */ - pos_mode mode; /* current positioning mode */ -} pdfstructure; - -extern pdfstructure *pstruct; - /**********************************************************************/ -boolean calc_pdfpos(pdfstructure * p, scaledpos * pos); -void pdf_end_string_nl(void); -void pdf_goto_pagemode(void); -void pdf_page_init(void); -void pdf_place_form(scaled h, scaled v, integer i); -void pdf_place_glyph(internal_font_number f, integer c); -void pdf_place_rule(scaled h, scaled v, scaled wd, scaled ht); -void pdf_print_charwidth(internal_font_number f, int i); -void pdf_print_cm(pdffloat * cm); -void pdf_set_pos(scaled h, scaled v); -void pos_finish(pdfstructure * p); -void print_pdffloat(pdffloat * f); +void synch_pos_with_cur(posstructure * pos, posstructure * refpos, + scaledpos cur); + +boolean calc_pdfpos(pdfstructure * p, scaledpos pos); +void pdf_end_string_nl(PDF pdf); +void pdf_goto_pagemode(PDF pdf); +void pdf_goto_textmode(PDF pdf); +void init_pdf_pagecalculations(PDF pdf); +void pdf_print_cm(PDF pdf, pdffloat * cm); +void pdf_set_pos(PDF pdf, scaledpos pos); +void pdf_set_pos_temp(PDF pdf, scaledpos pos); +void print_pdffloat(PDF pdf, pdffloat f); +void print_pdf_matrix(PDF pdf, pdffloat * tm); #endif |