xref: /plan9/sys/src/cmd/gs/src/gsnorop.c (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
17dd7cddfSDavid du Colombier /* Copyright (C) 1998 Aladdin Enterprises.  All rights reserved.
27dd7cddfSDavid du Colombier 
3*593dc095SDavid du Colombier   This software is provided AS-IS with no warranty, either express or
4*593dc095SDavid du Colombier   implied.
57dd7cddfSDavid du Colombier 
6*593dc095SDavid du Colombier   This software is distributed under license and may not be copied,
7*593dc095SDavid du Colombier   modified or distributed except as expressly authorized under the terms
8*593dc095SDavid du Colombier   of the license contained in the file LICENSE in this distribution.
97dd7cddfSDavid du Colombier 
10*593dc095SDavid du Colombier   For more information about licensing, please refer to
11*593dc095SDavid du Colombier   http://www.ghostscript.com/licensing/. For information on
12*593dc095SDavid du Colombier   commercial licensing, go to http://www.artifex.com/licensing/ or
13*593dc095SDavid du Colombier   contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14*593dc095SDavid du Colombier   San Rafael, CA  94903, U.S.A., +1(415)492-9861.
157dd7cddfSDavid du Colombier */
167dd7cddfSDavid du Colombier 
17*593dc095SDavid du Colombier /* $Id: gsnorop.c,v 1.4 2002/02/21 22:24:52 giles Exp $ */
187dd7cddfSDavid du Colombier /* Stubs for unimplemented RasterOp */
197dd7cddfSDavid du Colombier #include "gx.h"
207dd7cddfSDavid du Colombier #include "gserrors.h"
217dd7cddfSDavid du Colombier #include "gsrop.h"
227dd7cddfSDavid du Colombier #include "gxdevcli.h"
237dd7cddfSDavid du Colombier #include "gxdevice.h"		/* for gx_default_*copy_rop prototypes */
247dd7cddfSDavid du Colombier #include "gxdevmem.h"		/* for gdevmem.h */
257dd7cddfSDavid du Colombier #include "gdevmem.h"		/* for mem_*_strip_copy_rop prototypes */
267dd7cddfSDavid du Colombier #include "gdevmrop.h"
277dd7cddfSDavid du Colombier 
287dd7cddfSDavid du Colombier /* Stub accessors to logical operation in graphics state. */
297dd7cddfSDavid du Colombier 
307dd7cddfSDavid du Colombier gs_logical_operation_t
gs_current_logical_op(const gs_state * pgs)317dd7cddfSDavid du Colombier gs_current_logical_op(const gs_state * pgs)
327dd7cddfSDavid du Colombier {
337dd7cddfSDavid du Colombier     return lop_default;
347dd7cddfSDavid du Colombier }
357dd7cddfSDavid du Colombier 
367dd7cddfSDavid du Colombier int
gs_set_logical_op(gs_state * pgs,gs_logical_operation_t lop)377dd7cddfSDavid du Colombier gs_set_logical_op(gs_state * pgs, gs_logical_operation_t lop)
387dd7cddfSDavid du Colombier {
397dd7cddfSDavid du Colombier     return (lop == lop_default ? 0 : gs_note_error(gs_error_rangecheck));
407dd7cddfSDavid du Colombier }
417dd7cddfSDavid du Colombier 
427dd7cddfSDavid du Colombier /* Stub RasterOp implementations for memory devices. */
437dd7cddfSDavid du Colombier 
447dd7cddfSDavid du Colombier int
mem_mono_strip_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_strip_bitmap * textures,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)457dd7cddfSDavid du Colombier mem_mono_strip_copy_rop(gx_device * dev,
467dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
477dd7cddfSDavid du Colombier 			const gx_color_index * scolors,
487dd7cddfSDavid du Colombier 	   const gx_strip_bitmap * textures, const gx_color_index * tcolors,
497dd7cddfSDavid du Colombier 			int x, int y, int width, int height,
507dd7cddfSDavid du Colombier 			int phase_x, int phase_y, gs_logical_operation_t lop)
517dd7cddfSDavid du Colombier {
527dd7cddfSDavid du Colombier     return_error(gs_error_rangecheck);
537dd7cddfSDavid du Colombier }
547dd7cddfSDavid du Colombier 
557dd7cddfSDavid du Colombier int
mem_gray_strip_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_strip_bitmap * textures,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)567dd7cddfSDavid du Colombier mem_gray_strip_copy_rop(gx_device * dev,
577dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
587dd7cddfSDavid du Colombier 			const gx_color_index * scolors,
597dd7cddfSDavid du Colombier 	   const gx_strip_bitmap * textures, const gx_color_index * tcolors,
607dd7cddfSDavid du Colombier 			int x, int y, int width, int height,
617dd7cddfSDavid du Colombier 			int phase_x, int phase_y, gs_logical_operation_t lop)
627dd7cddfSDavid du Colombier {
637dd7cddfSDavid du Colombier     return_error(gs_error_rangecheck);
647dd7cddfSDavid du Colombier }
657dd7cddfSDavid du Colombier 
667dd7cddfSDavid du Colombier int
mem_gray8_rgb24_strip_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_strip_bitmap * textures,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)677dd7cddfSDavid du Colombier mem_gray8_rgb24_strip_copy_rop(gx_device * dev,
687dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
697dd7cddfSDavid du Colombier 			       const gx_color_index * scolors,
707dd7cddfSDavid du Colombier 	   const gx_strip_bitmap * textures, const gx_color_index * tcolors,
717dd7cddfSDavid du Colombier 			       int x, int y, int width, int height,
727dd7cddfSDavid du Colombier 		       int phase_x, int phase_y, gs_logical_operation_t lop)
737dd7cddfSDavid du Colombier {
747dd7cddfSDavid du Colombier     return_error(gs_error_rangecheck);
757dd7cddfSDavid du Colombier }
767dd7cddfSDavid du Colombier 
777dd7cddfSDavid du Colombier /* Stub default implementations of device procedures. */
787dd7cddfSDavid du Colombier 
797dd7cddfSDavid du Colombier int
gx_default_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_tile_bitmap * texture,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)807dd7cddfSDavid du Colombier gx_default_copy_rop(gx_device * dev,
817dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
827dd7cddfSDavid du Colombier 		    const gx_color_index * scolors,
837dd7cddfSDavid du Colombier 	     const gx_tile_bitmap * texture, const gx_color_index * tcolors,
847dd7cddfSDavid du Colombier 		    int x, int y, int width, int height,
857dd7cddfSDavid du Colombier 		    int phase_x, int phase_y, gs_logical_operation_t lop)
867dd7cddfSDavid du Colombier {
877dd7cddfSDavid du Colombier     return_error(gs_error_unknownerror);	/* not implemented */
887dd7cddfSDavid du Colombier }
897dd7cddfSDavid du Colombier 
907dd7cddfSDavid du Colombier int
gx_default_strip_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_strip_bitmap * textures,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)917dd7cddfSDavid du Colombier gx_default_strip_copy_rop(gx_device * dev,
927dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
937dd7cddfSDavid du Colombier 			  const gx_color_index * scolors,
947dd7cddfSDavid du Colombier 	   const gx_strip_bitmap * textures, const gx_color_index * tcolors,
957dd7cddfSDavid du Colombier 			  int x, int y, int width, int height,
967dd7cddfSDavid du Colombier 		       int phase_x, int phase_y, gs_logical_operation_t lop)
977dd7cddfSDavid du Colombier {
987dd7cddfSDavid du Colombier     return_error(gs_error_unknownerror);	/* not implemented */
997dd7cddfSDavid du Colombier }
1007dd7cddfSDavid du Colombier 
1017dd7cddfSDavid du Colombier int
mem_default_strip_copy_rop(gx_device * dev,const byte * sdata,int sourcex,uint sraster,gx_bitmap_id id,const gx_color_index * scolors,const gx_strip_bitmap * textures,const gx_color_index * tcolors,int x,int y,int width,int height,int phase_x,int phase_y,gs_logical_operation_t lop)1027dd7cddfSDavid du Colombier mem_default_strip_copy_rop(gx_device * dev,
1037dd7cddfSDavid du Colombier 	     const byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,
1047dd7cddfSDavid du Colombier 			  const gx_color_index * scolors,
1057dd7cddfSDavid du Colombier 	   const gx_strip_bitmap * textures, const gx_color_index * tcolors,
1067dd7cddfSDavid du Colombier 			  int x, int y, int width, int height,
1077dd7cddfSDavid du Colombier 		       int phase_x, int phase_y, gs_logical_operation_t lop)
1087dd7cddfSDavid du Colombier {
1097dd7cddfSDavid du Colombier     return_error(gs_error_unknownerror);	/* not implemented */
1107dd7cddfSDavid du Colombier }
1117dd7cddfSDavid du Colombier 
1127dd7cddfSDavid du Colombier /* Stub RasterOp source devices. */
1137dd7cddfSDavid du Colombier 
1147dd7cddfSDavid du Colombier int
gx_alloc_rop_texture_device(gx_device_rop_texture ** prsdev,gs_memory_t * mem,client_name_t cname)1157dd7cddfSDavid du Colombier gx_alloc_rop_texture_device(gx_device_rop_texture ** prsdev, gs_memory_t * mem,
1167dd7cddfSDavid du Colombier 			    client_name_t cname)
1177dd7cddfSDavid du Colombier {
1187dd7cddfSDavid du Colombier     return_error(gs_error_rangecheck);
1197dd7cddfSDavid du Colombier }
1207dd7cddfSDavid du Colombier 
1217dd7cddfSDavid du Colombier void
gx_make_rop_texture_device(gx_device_rop_texture * dev,gx_device * target,gs_logical_operation_t log_op,const gx_device_color * texture)1227dd7cddfSDavid du Colombier gx_make_rop_texture_device(gx_device_rop_texture * dev, gx_device * target,
1237dd7cddfSDavid du Colombier 	     gs_logical_operation_t log_op, const gx_device_color * texture)
1247dd7cddfSDavid du Colombier {				/* Never called. */
1257dd7cddfSDavid du Colombier }
126