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...
 
struct  framebuffer_acquire_t
 Parameters to acquire a framebuffer using framebuffer_acquire() or fbassoc_acquire(). More...
 

Macros

#define FBACQUIRE_HAS_FIELD(params_, field_)    ((params_)->size >= offsetof(framebuffer_acquire_t, field_) + sizeof((params_)->field_))
 Macro indicating if a framebuffer_acquire_t structure has size sufficient to include a named field.
 

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 void() framebuffer_data_release_fn(void *data)
 Type of a function used to release the opaque data pointer from a framebuffer object before it is released. More...
 
typedef struct framebuffer_t framebuffer_t
 Type containing a framebuffer instance's data. More...
 
typedef struct framebuffer_acquire_t framebuffer_acquire_t
 Parameters to acquire a framebuffer using framebuffer_acquire() or fbassoc_acquire().
 

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 framebuffer_acquire_t *params)
 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...
 
HqnResult fbassoc_acquire (uintptr_t key, const framebuffer_acquire_t *params)
 Ensure a framebuffer object exists in the framebuffer association and acquire the frames for it. More...
 
void fbassoc_reuse (uintptr_t key, uint32 sheet_id)
 Allow a framebuffer to be reused. More...
 
void fbassoc_release (uintptr_t key)
 Release all of the frames in a framebuffer. More...
 
framebuffer_tfbassoc_find (uintptr_t key)
 Find a framebuffer object associated with a key. More...
 
void fbassoc_destroy (void)
 Destroy the framebuffer association, releasing all framebuffers and the association itself. More...
 

Detailed Description

Common support for framebuffer raster output backends.