1 /* Copyright (C) 2001-2012 Artifex Software, Inc. 2 All Rights Reserved. 3 4 This software is provided AS-IS with no warranty, either express or 5 implied. 6 7 This software is distributed under license and may not be copied, 8 modified or distributed except as expressly authorized under the terms 9 of the license contained in the file LICENSE in this distribution. 10 11 Refer to licensing information at http://www.artifex.com or contact 12 Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, 13 CA 94903, U.S.A., +1(415)492-9861, for further information. 14 */ 15 16 17 /* Interface to graphics state CTM procedures */ 18 /* Requires gsmatrix.h and gsstate.h */ 19 20 #ifndef gscoord_INCLUDED 21 # define gscoord_INCLUDED 22 23 /* Coordinate system modification */ 24 int gs_initmatrix(gs_state *), 25 gs_defaultmatrix(const gs_state *, gs_matrix *), 26 gs_currentmatrix(const gs_state *, gs_matrix *), 27 gs_setmatrix(gs_state *, const gs_matrix *), 28 gs_translate(gs_state *, floatp, floatp), 29 gs_translate_untransformed(gs_state *, floatp, floatp), 30 gs_scale(gs_state *, floatp, floatp), 31 gs_rotate(gs_state *, floatp), 32 gs_concat(gs_state *, const gs_matrix *); 33 34 /* Extensions */ 35 int gs_setdefaultmatrix(gs_state *, const gs_matrix *), 36 gs_currentcharmatrix(gs_state *, gs_matrix *, bool), 37 gs_setcharmatrix(gs_state *, const gs_matrix *), 38 gs_settocharmatrix(gs_state *); 39 40 /* Coordinate transformation */ 41 int gs_transform(gs_state *, floatp, floatp, gs_point *), 42 gs_dtransform(gs_state *, floatp, floatp, gs_point *), 43 gs_itransform(gs_state *, floatp, floatp, gs_point *), 44 gs_idtransform(gs_state *, floatp, floatp, gs_point *); 45 46 #ifndef gs_imager_state_DEFINED 47 # define gs_imager_state_DEFINED 48 typedef struct gs_imager_state_s gs_imager_state; 49 #endif 50 51 int gs_imager_setmatrix(gs_imager_state *, const gs_matrix *); 52 int gs_imager_idtransform(const gs_imager_state *, floatp, floatp, gs_point *); 53 54 #endif /* gscoord_INCLUDED */ 55