Support for raster output of composited external Harlequin VariData elements. More...
#include "skinkit.h"
#include "ripapiversn.h"
#include "rdrapi.h"
#include "swdataapi.h"
#include "swoften.h"
#include "swcopyf.h"
#include "rasthand.h"
#include "hvdevmon.h"
#include "hqmemset.h"
#include "hqspin.h"
#include "skinmon.h"
#include "file.h"
#include "mem.h"
#include "paths.h"
#include "framebuffer.h"
#include "hqstr.h"
#include "hvdblit.h"
#include "hvdoutput.h"
#include "threadapi.h"
#include "monany.h"
#include "monlibhvd.h"
Macros | |
#define | DEFAULT_PURGE (-HVD_PURGE_LEAST_HITS - HVD_PURGE_NEXT(HVD_PURGE_SMALLEST)) |
Functions | |
static HqBool | HVD_raster_layout_iterate (raster_layout_iterator *diter, HVD_raster_layout *dest, raster_layout_iterator *siter, HVD_raster_layout *src) |
static RASTER_result | hvd_output_sheet (const HVD_page_output *page, hvd_output_page_params *params, RASTER_REQUIREMENTS *req, RasterDescription *rd) |
Output a sheet for an eHVD job, combining the elements. More... | |
int | hvd_default_cache_policy (void) |
Get the default cache policy, allowing overriding of default values to avoid having to recompile debug RIPs. | |
Support for raster output of composited external Harlequin VariData elements.
This file includes a function that can be used to composite eHVD output together, and call the normal raster output callbacks for a raster backend with the composed output.
#define DEFAULT_PURGE (-HVD_PURGE_LEAST_HITS - HVD_PURGE_NEXT(HVD_PURGE_SMALLEST)) |
Default cache purging strategy is to sort a subset of the cache by least hits, then smallest size, and remove content from elements in that order until enough has been removed.
|
static |
Output a sheet for an eHVD job, combining the elements.
[in] | page | The HVD page output structure containing all elements and rasters for a page. |
[in,out] | params | The raster callback functions and parameters. |
[in] | req | The raster requirements for the output sheet |
[in] | rd | The raster description for the output sheet |
|
static |
Find the next set of contiguous channels in the intersection of two raster layouts that can be blitted by libHVD.
[in,out] | diter | A raster layout iterator originally initialised to a non-omitted plane of the destination raster layout. On entry to this function, if dest->nchannels is zero, this iterator indicates the next channel that may be output to; if dest->nchannels is non-zero, this iterator indicates the last channel that was output to. |
[out] | dest | A libHVD raster layout that will be updated with the contiguous range of destination channels to blit. |
[in,out] | siter | A raster layout iterator originally initialised to a non-omitted plane of the source element raster layout. On entry to this function, if src->nchannels is zero, this iterator indicates the next channel that may be blitted to output; if src->nchannels is non-zero, this iterator indicates the last channel that was blitted to output. |
[out] | src | A libHVD raster layout that will be updated with the contiguous range of source channels to blit. |
TRUE | There are some channels to blit. The destination and source HVD raster layouts are set up for an HVD_get_blitter() call. The destination and source raster layout iterators are set up so another call to HVD_raster_layout_iterate() will return the next set of intersecting channels. |
FALSE | There are no more channels to blit. |
On the first entry to this function, dest->nchannels and src->nchannels should be initialised to zero.