Harlequin RIP SDK

Support for using the Raster Store API for eHVD elements. More...

#include "std.h"
#include "hvdlib.h"
#include "rasterstoreapi.h"
#include "rrevents.h"
#include "swdevice.h"
#include "skinras.h"

Typedefs

typedef struct HVD_rstore_raster HVD_rstore_raster
 

Functions

HVD_rstore_rasterrstore_raster_create (RasterDescription *pRD, int storageFlags, size_t userSize, HqnResult *perr)
 Function to create raster handles for passing to HVD_monitor_add_raster() when storing rasters using the raster API. More...
 
void rstore_raster_store (HVD_rstore_raster *raster, raster_store_t **store, API_VERSIONED(sw_rasterstore_api, RASTERSTORE_API_VERSION) **api)
 Get the underlying raster store from a raster handle. More...
 
void * rstore_raster_userdata (HVD_rstore_raster *raster)
 Get the user data address from a raster store raster handle. More...
 
void rstore_raster_error (HVD_rstore_raster **ppraster)
 The RIP failed to construct a raster. Mark it with error, and release the raster handle. More...
 
void rstore_raster_release (HVD_element *pElement, void *hraster)
 Function to use as HVD_raster_release_fn callback when using raster store elements. More...
 
HqBool rstore_recovery_filter (HVD_element *pElement, HVD_recovery_reason_t reason)
 Function to use as HVD_recovery_filter_fn callback when using raster store elements. More...
 
size_t rstore_raster_purge (HVD_element *pElement, void *hraster, size_t *recover)
 Function to use as HVD_raster_purge_fn callback when using raster store elements. More...
 
const RasterDescriptionrstore_raster_description (void *elementRaster)
 Function to use as hvd_output_page_params::raster_description_fn when using raster store elements. More...
 
void * rstore_element_raster_open (void *elementRaster, struct RASTER_PLANE *plane, HqnResult *perr)
 Function to use as hvd_output_page_params::element_raster_open when using raster store elements. More...
 
const uint8rstore_element_raster_map (void *context, void *elementRaster, unsigned int *pstartline, unsigned int *pnlines, HqnResult *perr)
 
void rstore_element_raster_close (void *context, void *elementRaster)
 

Detailed Description

Support for using the Raster Store API for eHVD elements.

This is the interface between the Raster Store API eHVD element buffers and raster backends.

Typedef Documentation

◆ HVD_rstore_raster

typedef struct HVD_rstore_raster HVD_rstore_raster

Raster store memory HVD raster data.

Function Documentation

◆ rstore_raster_create()

HVD_rstore_raster* rstore_raster_create ( RasterDescription pRD,
int  storageFlags,
size_t  userSize,
HqnResult perr 
)

Function to create raster handles for passing to HVD_monitor_add_raster() when storing rasters using the raster API.

Parameters
[in]pRDThe raster description the raster is being created for.
[in]storageFlagsThe storage flags requested for this element raster store. This is the union of one or more of the RASTER_MAYBE_* values in the raster store API.
[in]userSizeThe size of user data to allocate for this separation. The address of the user data can be recovered using rstore_raster_userdata().
[out]perrA location in which an error code is stored, if the raster handle could not be acquired or created.
Returns
The raster handle, or NULL if a raster handle could not be acquired or created.

If the pointer returned is non-NULL, then *perr is not modified. If the pointer returned is NULL, then *perr is set to a code greater than MON_CLASS_ERROR indicating the error that occurred creating the reader context. The subclass, PS error type, and UID for the error can be deconstructed using the macros in monevent.h.

◆ rstore_raster_error()

void rstore_raster_error ( HVD_rstore_raster **  ppraster)

The RIP failed to construct a raster. Mark it with error, and release the raster handle.

Parameters
[in]pprasterA location to find the raster previously created by rstore_raster_create().

◆ rstore_raster_store()

void rstore_raster_store ( HVD_rstore_raster raster,
raster_store_t **  store,
API_VERSIONED(sw_rasterstore_api, RASTERSTORE_API_VERSION) **  api 
)

Get the underlying raster store from a raster handle.

Parameters
[in]rasterA raster handle previously created by rstore_raster_create().
[out]storeA location to put the underlying raster store for the raster handle.
[out]apiA location to put an API pointer for accessing the underlying raster store for the raster handle.

◆ rstore_raster_userdata()

void* rstore_raster_userdata ( HVD_rstore_raster raster)

Get the user data address from a raster store raster handle.

Parameters
[in]rasterA raster handle previously created by rstore_raster_create().
Returns
The address of the user data. This buffer can store the number of bytes passed in the userSize parameter to rstore_raster_create().

User data will not be purged to storage.