1 /* pdfsetmatrix.h 2 3 Copyright 2009 Taco Hoekwater <taco@luatex.org> 4 5 This file is part of LuaTeX. 6 7 LuaTeX is free software; you can redistribute it and/or modify it under 8 the terms of the GNU General Public License as published by the Free 9 Software Foundation; either version 2 of the License, or (at your 10 option) any later version. 11 12 LuaTeX is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License along 18 with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */ 19 20 21 #ifndef PDFSETMATRIX_H 22 # define PDFSETMATRIX_H 23 24 # define set_pdf_setmatrix_data(A,B) pdf_setmatrix_data(A)=B 25 26 typedef struct { 27 double a; 28 double b; 29 double c; 30 double d; 31 double e; 32 double f; 33 } matrix_entry; 34 35 extern matrix_entry *matrix_stack; 36 extern int matrix_stack_size; 37 extern int matrix_stack_used; 38 39 40 scaled getllx(void); 41 scaled getlly(void); 42 scaled geturx(void); 43 scaled getury(void); 44 void matrixtransformpoint(scaled x, scaled y); 45 void matrixtransformrect(scaled llx, scaled lly, scaled urx, scaled ury); 46 boolean matrixused(void); 47 void matrixrecalculate(scaled urx); 48 49 extern void pdf_out_setmatrix(PDF pdf, halfword p); 50 51 #endif 52