|
|
/*
|
|
|
* cupsRasterInterpretPPD stub for CUPS.
|
|
|
*
|
|
|
* Copyright © 2018 by Apple Inc.
|
|
|
*
|
|
|
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
|
|
* information.
|
|
|
*/
|
|
|
|
|
|
/*
|
|
|
* Include necessary headers...
|
|
|
*/
|
|
|
|
|
|
#include <cups/ppd-private.h>
|
|
|
|
|
|
|
|
|
/*
|
|
|
* This stub wraps the _cupsRasterInterpretPPD function in libcups - this allows
|
|
|
* one library to provide all of the CUPS API functions while still supporting
|
|
|
* the old split library organization...
|
|
|
*/
|
|
|
|
|
|
|
|
|
/*
|
|
|
* 'cupsRasterInterpretPPD()' - Interpret PPD commands to create a page header.
|
|
|
*
|
|
|
* This function is used by raster image processing (RIP) filters like
|
|
|
* cgpdftoraster and imagetoraster when writing CUPS raster data for a page.
|
|
|
* It is not used by raster printer driver filters which only read CUPS
|
|
|
* raster data.
|
|
|
*
|
|
|
*
|
|
|
* @code cupsRasterInterpretPPD@ does not mark the options in the PPD using
|
|
|
* the "num_options" and "options" arguments. Instead, mark the options with
|
|
|
* @code cupsMarkOptions@ and @code ppdMarkOption@ prior to calling it -
|
|
|
* this allows for per-page options without manipulating the options array.
|
|
|
*
|
|
|
* The "func" argument specifies an optional callback function that is
|
|
|
* called prior to the computation of the final raster data. The function
|
|
|
* can make changes to the @link cups_page_header2_t@ data as needed to use a
|
|
|
* supported raster format and then returns 0 on success and -1 if the
|
|
|
* requested attributes cannot be supported.
|
|
|
*
|
|
|
*
|
|
|
* @code cupsRasterInterpretPPD@ supports a subset of the PostScript language.
|
|
|
* Currently only the @code [@, @code ]@, @code <<@, @code >>@, @code {@,
|
|
|
* @code }@, @code cleartomark@, @code copy@, @code dup@, @code index@,
|
|
|
* @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators
|
|
|
* are supported.
|
|
|
*
|
|
|
* @since CUPS 1.2/macOS 10.5@
|
|
|
*/
|
|
|
|
|
|
int /* O - 0 on success, -1 on failure */
|
|
|
cupsRasterInterpretPPD(
|
|
|
cups_page_header2_t *h, /* O - Page header to create */
|
|
|
ppd_file_t *ppd, /* I - PPD file */
|
|
|
int num_options, /* I - Number of options */
|
|
|
cups_option_t *options, /* I - Options */
|
|
|
cups_interpret_cb_t func) /* I - Optional page header callback (@code NULL@ for none) */
|
|
|
{
|
|
|
return (_cupsRasterInterpretPPD(h, ppd, num_options, options, func));
|
|
|
}
|