You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.2 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

/*
* 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));
}