Harlequin RIP SDK

Common support for framebuffer raster output backends. More...

#include "std.h"
#include "skinras.h"
#include "swraster.h"

Data Structures

struct  framebuffer_t
 Type containing a framebuffer instance's data. More...
 

Typedefs

typedef struct frame_descriptor_t frame_descriptor_t
 Opaque reference to frame to raster association structure.
 
typedef void *() frame_acquire_fn(size_t size, uint32 id, void *data, HqnResult *perr)
 Type of a function used to allocate a handle when new frames are acquired by the framebuffer. More...
 
typedef void() frame_release_fn(void *handle, size_t size, void *data)
 Type of a function used to release a frame handle. More...
 
typedef uint8 *() frame_raster_fn(void *handle, size_t offset, size_t size)
 Type of a function used to get the base address of the raster data from a frame or sheet handle. More...
 
typedef struct framebuffer_t framebuffer_t
 Type containing a framebuffer instance's data. More...
 

Functions

HqBool framebuffer_recalculate (framebuffer_t *framebuffer, const RasterDescription *rd)
 Calculate the size parameters for a framebuffer from a raster description and layout. More...
 
HqnResult framebuffer_acquire (framebuffer_t *framebuffer, const RasterDescription *rd, frame_acquire_fn *acquire_fn, frame_release_fn *release_fn, frame_raster_fn *raster_fn, void *data)
 Acquire the frames for a framebuffer. More...
 
HqnResult framebuffer_destination (framebuffer_t *framebuffer, RASTER_DESTINATION *destination, int32 sheetIndex)
 Set up the raster memory destination and ceiling for a frame. More...
 
uint8framebuffer_address (framebuffer_t *framebuffer, uint32 id)
 Obtain a pointer to a frame's raster buffer. More...
 
void * framebuffer_handle (framebuffer_t *framebuffer, uint32 id)
 Retrieve a handle from a frame's raster buffer. More...
 
void framebuffer_reuse (framebuffer_t *framebuffer, uint32 sheet_id)
 Forget associations between frame and sheet IDs and the handles they were assigned to, allowing the handle to be re-used for a different frame or sheet. More...
 
void framebuffer_remove (framebuffer_t *framebuffer, void *handle)
 Take ownership of a frame handle away from the framebuffer. More...
 
void framebuffer_release (framebuffer_t *framebuffer)
 Release all of the frames in a framebuffer. More...
 

Detailed Description

Common support for framebuffer raster output backends.