KCMS Calibrator Tool Loadable Interface Guide

Chapter 5 Data Structures

This chapter describes the data structures used by Calibrator Tool.

KCMSCData

typedef struct _KCMSCData {
   int                   size;		/* number of data sets */  
		KcsCalibrationData ** data;		/* pointers to data sets */ }
		KCMSCData;

KCMSCData is a structure that collects data. For monitor calibration, the size element must be equivalent in value to numVisuals in the KCMSCVisuals structure. (For more information on numVisuals, see "KCMSCVisuals" in this chapter.)

The members in this structure are described below:

size

Is the number of sets of data. For monitors, the value must be equivalent to the value of numVisuals.

KcsCalibrationData

Is a variable array of pointers to KcsCalibrationData structures. KcsCalibrationData contains an array of input values for the profiles (supplied by Calibrator Tool) and an array of output values (results of measurements) that represent the color response of the device. (For details on the KcsCalibrationData type, see Chapter 3, "Data Structures" in the KCMS Application Developer's Guide.)

KCMSCVisuals

typedef struct _KCMSCVisuals {
    Display * display;
    int       screen;
    int      	numVisuals;			/* dynamic array size */
    XVisualInfo ** visuals;		/* visuals to get data for */

    
} KCMSCVisuals;

KCMSCVisuals is a structure that identifies to the loadable module the display and visuals upon which to perform measurements. The members in this structure are described below:

display

Is a Display pointer. The Display pointer is for use when the loadable module makes an X library call (such as XCreateWindow()) to connect to the local windowing system. (For details on Display, see the XLib Programming Manual.)

screen

Is the screen number to be used in Xll calls. Calibrator Tool fills in the value of this field. 

numVisuals

Is the number of X visuals for which color measurement data is needed. Calibrator Tool fills in the value of this field based on the number of X visuals to be updated. (For details, see "Slow and Fast Mode Measurements" in Chapter 4, Measuring Monitor Response.)

visuals

Is an array of XVisualInfo pointers. (See "XVisualInfo" below for the format of this structure.)

XVisualInfo

The XVisualInfo structure has the format shown below. For details on the members of this structure, see the XLib Programming Manual.

typedef struct {
 	Visual* visual;
 	VisualID visualid;
 	int screen_num;
 	unsigned int depth;
 	int class;
 	unsigned long red_mask;
 	unsigned long green_mask;
		unsigned long blue_mask;
 	int colormap_size; /* Same as map_entries member of Visual */
 	int bits_per_rgb;
 } XVisualInfo;