From 6948650efd3fb9e2a70b8cf16aca57e9d0b7eb0a Mon Sep 17 00:00:00 2001 From: Chris Liddell Date: Tue, 23 Jul 2013 16:24:19 +0100 Subject: Commit of build_consolidation branch Squashed into one commit (see branch for details of the evolution of the branch). This brings gpcl6 and gxps into the Ghostscript build system, and a shared set of graphics library object files for all the interpreters. Also, brings the same configuration options to the pcl and xps products as we have for Ghostscript. --- base/gscompt.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 base/gscompt.h (limited to 'base/gscompt.h') diff --git a/base/gscompt.h b/base/gscompt.h new file mode 100644 index 000000000..b69615aa0 --- /dev/null +++ b/base/gscompt.h @@ -0,0 +1,50 @@ +/* Copyright (C) 2001-2012 Artifex Software, Inc. + All Rights Reserved. + + This software is provided AS-IS with no warranty, either express or + implied. + + This software is distributed under license and may not be copied, + modified or distributed except as expressly authorized under the terms + of the license contained in the file LICENSE in this distribution. + + Refer to licensing information at http://www.artifex.com or contact + Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, + CA 94903, U.S.A., +1(415)492-9861, for further information. +*/ + + +/* Abstract types for compositing objects */ + +#ifndef gscompt_INCLUDED +# define gscompt_INCLUDED + +/* + * Compositing is the next-to-last step in the rendering pipeline. + * It occurs after color correction but before halftoning (if needed). + * + * gs_composite_t is the abstract superclass for compositing functions such + * as RasterOp functions or alpha-based compositing. Concrete subclasses + * must provide a default implementation (presumably based on + * get_bits_rectangle and copy_color) for devices that provide no optimized + * implementation of their own. + * + * A client that wants to produce composited output asks the target device + * to create an appropriate compositing device based on the target device + * and the gs_composite_t (and possibly other elements of the imager state). + * If the target device doesn't have its own implementation for the + * requested function, format, and state, it passes the buck to the + * gs_composite_t, which may make further tests for special cases before + * creating and returning a compositing device that uses the default + * implementation. + */ +typedef struct gs_composite_s gs_composite_t; + +/* + * To enable fast cache lookup and equality testing, compositing functions, + * like halftones, black generation functions, etc., carry a unique ID (time + * stamp). + */ +gs_id gs_composite_id(const gs_composite_t * pcte); + +#endif /* gscompt_INCLUDED */ -- cgit v1.2.1