1 /* Copyright (C) 1998 artofcode LLC. All rights reserved. 2 3 This program is free software; you can redistribute it and/or modify it 4 under the terms of the GNU General Public License as published by the 5 Free Software Foundation; either version 2 of the License, or (at your 6 option) any later version. 7 8 This program is distributed in the hope that it will be useful, but 9 WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 General Public License for more details. 12 13 You should have received a copy of the GNU General Public License along 14 with this program; if not, write to the Free Software Foundation, Inc., 15 59 Temple Place, Suite 330, Boston, MA, 02111-1307. 16 17 */ 18 19 /*$Id: gxropc.h,v 1.2.6.1.2.1 2003/01/17 00:49:04 giles Exp $ */ 20 /* Internals for RasterOp compositing */ 21 22 #ifndef gxropc_INCLUDED 23 # define gxropc_INCLUDED 24 25 #include "gsropc.h" 26 #include "gxcomp.h" 27 28 /* Define RasterOp-compositing objects. */ 29 typedef struct gs_composite_rop_s { 30 gs_composite_common; 31 gs_composite_rop_params_t params; 32 } gs_composite_rop_t; 33 34 #define private_st_composite_rop() /* in gsropc.c */\ 35 gs_private_st_ptrs1(st_composite_rop, gs_composite_rop_t,\ 36 "gs_composite_rop_t", composite_rop_enum_ptrs, composite_rop_reloc_ptrs,\ 37 params.texture) 38 39 /* 40 * Initialize a RasterOp compositing function from parameters. 41 * We make this visible so that clients can allocate gs_composite_rop_t 42 * objects on the stack, to reduce memory manager overhead. 43 */ 44 void gx_init_composite_rop(P2(gs_composite_rop_t * pcte, 45 const gs_composite_rop_params_t * params)); 46 47 #endif /* gxropc_INCLUDED */ 48