Harlequin RIP SDK

CMM Implementation of a hybrid interface to both the Custom Color Space and LittleCMS example modules. More...

#include "std.h"
#include "cmm_examplepriv.h"
#include "cmm_littlecmspriv.h"
#include "cmm_common.h"
#include "cmm_hybrid.h"
#include "lcms2.h"

Data Structures

struct  HYBRID_PROFILE
 A profile structure that trampolines onto a base profile of either the Custom Color Space or LittleCMS example modules. More...
 
struct  HYBRID_TRANSFORM
 A transform structure that trampolines onto a base transform of either the Custom Color Space or LittleCMS example modules. More...
 

Typedefs

typedef struct HYBRID_PROFILE HYBRID_PROFILE
 A profile structure that trampolines onto a base profile of either the Custom Color Space or LittleCMS example modules.
 
typedef struct HYBRID_TRANSFORM HYBRID_TRANSFORM
 A transform structure that trampolines onto a base transform of either the Custom Color Space or LittleCMS example modules.
 

Enumerations

enum  { CMMEG_DO_LITTLECMS = 1 , CMMEG_DO_CUSTOMCS = 2 }
 Which sub-CMM profile are we using? More...
 

Functions

static sw_cmm_result hybrid_construct (sw_cmm_instance *instance)
 Construct an instance of the sw_cmm_api interface. More...
 
static sw_cmm_result hybrid_open_profile (sw_cmm_instance *instance, sw_blob_instance *ICC_profile, sw_cmm_profile *handle)
 Create an internal profile structure for ICC profile data stored in memory. More...
 
static void hybrid_close_profile (sw_cmm_instance *instance, sw_cmm_profile profile)
 Close a profile with a handle previously created by either lcms_open_profile() or ccs_open_custom_colorspace(). More...
 
static sw_cmm_custom_colorspacehybrid_declare_custom_colorspace (sw_cmm_instance *instance, uint32 index)
 Declare a custom color space to the RIP. More...
 
sw_cmm_result hybrid_open_custom_colorspace (sw_cmm_instance *instance, uint32 index, sw_cmm_profile *handle)
 Create an internal profile structure for a custom colorspace. More...
 
static sw_cmm_result hybrid_open_transform (sw_cmm_instance *instance, sw_cmm_profile profiles[], uint32 num_profiles, int32 intents[], HqBool black_point_compensations[], uint32 *num_input_channels, uint32 *num_output_channels, sw_cmm_transform *handle)
 Create a transform structure for the example CMM. More...
 
void hybrid_close_transform (sw_cmm_instance *instance, sw_cmm_transform transform)
 Close a transform previously opened with hybrid_open_transform(). More...
 
static sw_cmm_result hybrid_invoke_transform (sw_cmm_instance *instance, sw_cmm_transform transform, float *input_data, float *output_data, uint32 num_pixels)
 Use the specified transform to adjust color data. More...
 
sw_cmm_apihybridcms_getInstance ()
 Return the singleton instance of a sw_cmm_api object containing details specific to the Hybrid CMM example module. More...
 

Variables

static sw_cmm_api gImplementation
 Singleton implementation describing this alternate CMM.
 

Detailed Description

CMM Implementation of a hybrid interface to both the Custom Color Space and LittleCMS example modules.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Which sub-CMM profile are we using?

Enumerator
CMMEG_DO_LITTLECMS 

Littlecms profile.

CMMEG_DO_CUSTOMCS 

Custom color space profile.