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"

Macros

#define RSTORE_CACHEAPI_NAME   "RASTERSTORE"
 Name used to register the raster store HVD cache implementation in RDR.
 

Typedefs

typedef struct HVD_rstore_raster HVD_rstore_raster
 Raster store memory HVD raster data.
 

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...
 
HqBool rstore_cache_register (void)
 Register the raster store HVD cache implementation in RDR.
 
void rstore_cache_deregister (void)
 Deregister the raster store HVD cache implementation from RDR.
 
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)
 Function to use as hvd_output_page_params::element_raster_map when using raster store elements. More...
 
void rstore_element_raster_close (void *context, void *elementRaster)
 Function to use as hvd_output_page_params::element_raster_close when using raster store elements. More...
 

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.

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.