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_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. 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 RasterDescription * | rstore_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 uint8 * | rstore_element_raster_map (void *context, void *elementRaster, unsigned int *pstartline, unsigned int *pnlines, HqnResult *perr) |
void | rstore_element_raster_close (void *context, void *elementRaster) |
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 struct HVD_rstore_raster HVD_rstore_raster |
Raster store memory HVD raster data.
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.
[in] | pRD | The raster description the raster is being created for. |
[in] | storageFlags | The 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] | userSize | The size of user data to allocate for this separation. The address of the user data can be recovered using rstore_raster_userdata(). |
[out] | perr | A location in which an error code is stored, if the 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.
void rstore_raster_error | ( | HVD_rstore_raster ** | ppraster | ) |
The RIP failed to construct a raster. Mark it with error, and release the raster handle.
[in] | ppraster | A location to find the raster previously created by rstore_raster_create(). |
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.
[in] | raster | A raster handle previously created by rstore_raster_create(). |
[out] | store | A location to put the underlying raster store for the raster handle. |
[out] | api | A location to put an API pointer for accessing the underlying raster store for the raster handle. |
void* rstore_raster_userdata | ( | HVD_rstore_raster * | raster | ) |
Get the user data address from a raster store raster handle.
[in] | raster | A raster handle previously created by rstore_raster_create(). |
userSize
parameter to rstore_raster_create().User data will not be purged to storage.