SR Research Support Site
Data Fields
HOOKFCNS2 Struct Reference

Structure used set and get callback functions. More...

Data Fields

int major
 
int minor
 
void * userData
 
INT16(* setup_cal_display_hook )(void *userData)
 
INT16(* exit_cal_display_hook )(void *userData)
 
INT16(* setup_image_display_hook )(void *userData, INT16 width, INT16 height)
 
INT16(* image_title_hook )(void *userData, char *title)
 
INT16(* draw_image )(void *userData, INT16 width, INT16 height, byte *pixels)
 
INT16(* exit_image_display_hook )(void *userData)
 
INT16(* clear_cal_display_hook )(void *userData)
 
INT16(* erase_cal_target_hook )(void *userData)
 
INT16(* draw_cal_target_hook )(void *userData, float x, float y)
 
INT16(* play_target_beep_hook )(void *userData, EL_CAL_BEEP beep_type)
 
INT16(* get_input_key_hook )(void *userData, InputEvent *event)
 
INT16(* alert_printf_hook )(void *userData, const char *msg)
 
int reserved1
 
int reserved2
 
int reserved3
 
int reserved4
 

Detailed Description

Structure used set and get callback functions.

Structure used set and get callback functions so that the calibration graphics can be drawn.

Field Documentation

INT16( * alert_printf_hook) (void *userData, const char *msg)

This function is called whenever alert_printf is called. In windows, if no callback is set calls MessageBox function. In other platforms, if no call back is set prints out to console.

INT16( * clear_cal_display_hook) (void *userData)

Called to clear the calibration display.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
Returns
0 upon success.
INT16( * draw_cal_target_hook) (void *userData, float x, float y)

This function is responsible for the drawing of the target for calibration,validation and drift correct at the given coordinate.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
xx coordinate of the target.
yy coordinate of the target.
Remarks
The x and y are relative to what is sent to the tracker for the command screen_pixel_coords.
Returns
0 upon success.
INT16( * draw_image) (void *userData, INT16 width, INT16 height, byte *pixels)

This function is called to supply the image.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
widthwidth of the picture.
heightheight of the picture.
pixelspixels pointer to the pixel data. The size of the pixel data can be calculate by width*height*4. The image comes in RGBA(network order) format.
Returns
0 upon success.
INT16( * erase_cal_target_hook) (void *userData)

This function is responsible for erasing the target that was drawn by the last call to draw_cal_target.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
Returns
0 upon success.
INT16( * exit_cal_display_hook) (void *userData)

This is called to release any resources that are not required beyond calibration. Beyond this call, no calibration functions will be called.

Returns
0 upon success.
INT16( * exit_image_display_hook) (void *userData)

This is called to notify that all camera setup things are complete. Any resources that are allocated in setup_image_display can be released in this function.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
Returns
0 upon success.
INT16( * get_input_key_hook) (void *userData, InputEvent *event)

This is called to check for keyboard input. In this function:

  • check if there are any input events
  • if there are input events, fill key_input and return 1. otherwise return 0. If 1 is returned this will be called again to check for more events.
Parameters
[in]userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
[out]key_inputfill in the InputEvent structure to return key,modifier values.
Returns
if there is a key, return 1 otherwise return 0. return -1 if there is an error.
Remarks
Special keys and modifiers should match the following code.

Special keys:

#define F1_KEY 0x3B00
#define F2_KEY 0x3C00
#define F3_KEY 0x3D00
#define F4_KEY 0x3E00
#define F5_KEY 0x3F00
#define F6_KEY 0x4000
#define F7_KEY 0x4100
#define F8_KEY 0x4200
#define F9_KEY 0x4300
#define F10_KEY 0x4400
#define PAGE_UP 0x4900
#define PAGE_DOWN 0x5100
#define CURS_UP 0x4800
#define CURS_DOWN 0x5000
#define CURS_LEFT 0x4B00
#define CURS_RIGHT 0x4D00
#define ESC_KEY 0x001B
#define ENTER_KEY 0x000D

Modifier: If you are using SDL you do not need to modify the modifier value as they match the value.

#define ELKMOD_NONE 0x0000
#define ELKMOD_LSHIFT 0x0001
#define ELKMOD_RSHIFT 0x0002
#define ELKMOD_LCTRL 0x0040
#define ELKMOD_RCTRL 0x0080
#define ELKMOD_LALT 0x0100
#define ELKMOD_RALT 0x0200
#define ELKMOD_LMETA 0x0400
#define ELKMOD_RMETA 0x0800,
#define ELKMOD_NUM 0x1000
#define ELKMOD_CAPS 0x2000
#define ELKMOD_MODE 0x4000
INT16( * image_title_hook) (void *userData, char *title)

This function is called to update any image title change.

Parameters
thresholdif -1 the entire tile is in the title string otherwise, the threshold of the current image.
titleif threshold is -1, the title contains the whole title for the image. Otherwise only the camera name is given.
Returns
0 upon success.
int major

Major version. At the moment the version number must be set to 1

int minor

Minor version. At the moment the version number must be set to 0

INT16( * play_target_beep_hook) (void *userData, EL_CAL_BEEP beep_type)
Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.

This function is called to signal new target.

Returns
0 upon success.
INT16( * setup_cal_display_hook) (void *userData)

This function is called to setup calibration/validation display. This function called before any calibration routines are called.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
Returns
0 upon success.
INT16( * setup_image_display_hook) (void *userData, INT16 width, INT16 height)

This function is responsible for initializing any resources that are required for camera setup.

Parameters
userDataUser context data set on userData field of HOOKFCNS2 set at the time of call to setup_graphic_hook_functions.
widthwidth of the source image to expect.
heightheight of the source image to expect.
Returns
-1 if failed
0 success with flag indicating support for drawing single size camera images
1 success with flag indicating support for drawing variable size camera images, for high resolution global camera images with newer EyeLink tracker models.
void* userData

The value set here will be passed to every single call back functions


Copyright ©2002-2021, SR Research Ltd.