Tobii Pro SDK C API
tobii_research_streams.h File Reference

Functionality for eye tracker streams. More...

Go to the source code of this file.

Data Structures

struct  TobiiResearchGazeOrigin
 
struct  TobiiResearchPupilData
 
struct  TobiiResearchGazePoint
 
struct  TobiiResearchEyeData
 
struct  TobiiResearchGazeData
 
struct  TobiiResearchEyeUserPositionGuide
 
struct  TobiiResearchUserPositionGuide
 
struct  TobiiResearchHMDPupilPosition
 
struct  TobiiResearchHMDGazeOrigin
 
struct  TobiiResearchHMDGazeDirection
 
struct  TobiiResearchHMDEyeData
 
struct  TobiiResearchHMDGazeData
 
struct  TobiiResearchTimeSynchronizationData
 
struct  TobiiResearchExternalSignalData
 
struct  TobiiResearchNotification
 
struct  TobiiResearchStreamErrorData
 
struct  TobiiResearchEyeImage
 
struct  TobiiResearchEyeImageGif
 

Typedefs

typedef char TobiiResearchNotificationString[512]
 
typedef void(* tobii_research_gaze_data_callback) (TobiiResearchGazeData *gaze_data, void *user_data)
 Gaze data callback. More...
 
typedef void(* tobii_research_user_position_guide_callback) (TobiiResearchUserPositionGuide *user_position_guide, void *user_data)
 User position guide data callback. More...
 
typedef void(* tobii_research_hmd_gaze_data_callback) (TobiiResearchHMDGazeData *hmd_gaze_data, void *user_data)
 HMD gaze data callback. More...
 
typedef void(* tobii_research_external_signal_data_callback) (TobiiResearchExternalSignalData *external_signal_data, void *user_data)
 External signal callback. More...
 
typedef void(* tobii_research_time_synchronization_data_callback) (TobiiResearchTimeSynchronizationData *time_synchronization_data, void *user_data)
 Time synchronization callback. More...
 
typedef void(* tobii_research_stream_error_callback) (TobiiResearchStreamErrorData *stream_error, void *user_data)
 Stream error callback. More...
 
typedef void(* tobii_research_notification_callback) (TobiiResearchNotification *notification, void *user_data)
 Notification callback. More...
 
typedef void(* tobii_research_eye_image_callback) (TobiiResearchEyeImage *frame, void *user_data)
 Eye image callback. More...
 
typedef void(* tobii_research_eye_image_as_gif_callback) (TobiiResearchEyeImageGif *frame, void *user_data)
 Eye image gif callback. More...
 

Enumerations

enum  TobiiResearchValidity { TOBII_RESEARCH_VALIDITY_INVALID, TOBII_RESEARCH_VALIDITY_VALID }
 
enum  TobiiResearchExternalSignalChangeType { TOBII_RESEARCH_EXTERNAL_SIGNAL_VALUE_CHANGED, TOBII_RESEARCH_EXTERNAL_SIGNAL_INITIAL_VALUE, TOBII_RESEARCH_EXTERNAL_SIGNAL_CONNECTION_RESTORED }
 
enum  TobiiResearchStreamError {
  TOBII_RESEARCH_STREAM_ERROR_CONNECTION_LOST, TOBII_RESEARCH_STREAM_ERROR_INSUFFICIENT_LICENSE, TOBII_RESEARCH_STREAM_ERROR_NOT_SUPPORTED, TOBII_RESEARCH_STREAM_ERROR_TOO_MANY_SUBSCRIBERS,
  TOBII_RESEARCH_STREAM_ERROR_INTERNAL_ERROR, TOBII_RESEARCH_STREAM_ERROR_USER_ERROR
}
 
enum  TobiiResearchStreamErrorSource {
  TOBII_RESEARCH_STREAM_ERROR_SOURCE_USER, TOBII_RESEARCH_STREAM_ERROR_SOURCE_STREAM_PUMP, TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_GAZE_DATA, TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_EXTERNAL_SIGNAL,
  TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_TIME_SYNCHRONIZATION_DATA, TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_EYE_IMAGE, TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_NOTIFICATION, TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_HMD_GAZE_DATA,
  TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_USER_POSITION_GUIDE
}
 
enum  TobiiResearchNotificationType {
  TOBII_RESEARCH_NOTIFICATION_CONNECTION_LOST, TOBII_RESEARCH_NOTIFICATION_CONNECTION_RESTORED, TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_ENTERED, TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_LEFT,
  TOBII_RESEARCH_NOTIFICATION_CALIBRATION_CHANGED, TOBII_RESEARCH_NOTIFICATION_TRACK_BOX_CHANGED, TOBII_RESEARCH_NOTIFICATION_DISPLAY_AREA_CHANGED, TOBII_RESEARCH_NOTIFICATION_GAZE_OUTPUT_FREQUENCY_CHANGED,
  TOBII_RESEARCH_NOTIFICATION_EYE_TRACKING_MODE_CHANGED, TOBII_RESEARCH_NOTIFICATION_DEVICE_FAULTS, TOBII_RESEARCH_NOTIFICATION_DEVICE_WARNINGS, TOBII_RESEARCH_NOTIFICATION_UNKNOWN
}
 
enum  TobiiResearchEyeImageType { TOBII_RESEARCH_EYE_IMAGE_TYPE_FULL, TOBII_RESEARCH_EYE_IMAGE_TYPE_CROPPED, TOBII_RESEARCH_EYE_IMAGE_TYPE_MULTI_ROI, TOBII_RESEARCH_EYE_IMAGE_TYPE_UNKNOWN }
 

Functions

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_gaze_data (TobiiResearchEyeTracker *eyetracker, tobii_research_gaze_data_callback callback, void *user_data)
 Subscribes to gaze data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_gaze_data (TobiiResearchEyeTracker *eyetracker, tobii_research_gaze_data_callback callback)
 Unsubscribes from gaze data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_user_position_guide (TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback, void *user_data)
 Subscribes to user position guide for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_user_position_guide (TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback)
 Unsubscribes from user position guide for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_hmd_gaze_data (TobiiResearchEyeTracker *eyetracker, tobii_research_hmd_gaze_data_callback callback, void *user_data)
 Subscribes to gaze data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_hmd_gaze_data (TobiiResearchEyeTracker *eyetracker, tobii_research_hmd_gaze_data_callback callback)
 Unsubscribes from HMD gaze data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_external_signal_data (TobiiResearchEyeTracker *eyetracker, tobii_research_external_signal_data_callback callback, void *user_data)
 Subscribes to external signal data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_external_signal_data (TobiiResearchEyeTracker *eyetracker, tobii_research_external_signal_data_callback callback)
 Unsubscribes from external signal data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_time_synchronization_data (TobiiResearchEyeTracker *eyetracker, tobii_research_time_synchronization_data_callback callback, void *user_data)
 Subscribes to time synchronization data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_time_synchronization_data (TobiiResearchEyeTracker *eyetracker, tobii_research_time_synchronization_data_callback callback)
 Unsubscribes from time synchronization data for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_stream_errors (TobiiResearchEyeTracker *eyetracker, tobii_research_stream_error_callback callback, void *user_data)
 Subscribes to stream errors for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_stream_errors (TobiiResearchEyeTracker *eyetracker, tobii_research_stream_error_callback callback)
 Unsubscribes from stream errors for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_notifications (TobiiResearchEyeTracker *eyetracker, tobii_research_notification_callback callback, void *user_data)
 Subscribes to notifications for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_notifications (TobiiResearchEyeTracker *eyetracker, tobii_research_notification_callback callback)
 Unsubscribes from notifications for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image (TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_callback callback, void *user_data)
 Subscribes to eye image for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image_as_gif (TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_as_gif_callback callback, void *user_data)
 Subscribes to eye image for the eye tracker with the image delivered in gif format. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image (TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_callback callback)
 Unsubscribes from eye image for the eye tracker. More...
 
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image_as_gif (TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_as_gif_callback callback)
 Unsubscribes from eye image for the eye tracker. More...
 

Detailed Description

Functionality for eye tracker streams.

Typedef Documentation

◆ tobii_research_external_signal_data_callback

typedef void(* tobii_research_external_signal_data_callback) (TobiiResearchExternalSignalData *external_signal_data, void *user_data)

External signal callback.

Implement this and send as a parameter to tobii_research_subscribe_to_external_signal_data.

Parameters
external_signal_dataExternal signal data received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_external_signal_data.

◆ tobii_research_eye_image_as_gif_callback

typedef void(* tobii_research_eye_image_as_gif_callback) (TobiiResearchEyeImageGif *frame, void *user_data)

Eye image gif callback.

Implement this and send as a parameter to tobii_research_subscribe_to_eye_image_as_gif.

Parameters
frameEye image gif frame received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_eye_image_as_gif.

◆ tobii_research_eye_image_callback

typedef void(* tobii_research_eye_image_callback) (TobiiResearchEyeImage *frame, void *user_data)

Eye image callback.

Implement this and send as a parameter to tobii_research_subscribe_to_eye_image.

Parameters
frameEye image frame received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_eye_image.

◆ tobii_research_gaze_data_callback

typedef void(* tobii_research_gaze_data_callback) (TobiiResearchGazeData *gaze_data, void *user_data)

Gaze data callback.

Implement this and send as a parameter to tobii_research_subscribe_to_gaze_data.

Parameters
gaze_dataGaze data received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_gaze_data.

◆ tobii_research_hmd_gaze_data_callback

typedef void(* tobii_research_hmd_gaze_data_callback) (TobiiResearchHMDGazeData *hmd_gaze_data, void *user_data)

HMD gaze data callback.

Implement this and send as a parameter to tobii_research_subscribe_to_hmd_gaze_data.

Parameters
hmd_gaze_dataHMD gaze data received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_hmd_gaze_data.

◆ tobii_research_notification_callback

typedef void(* tobii_research_notification_callback) (TobiiResearchNotification *notification, void *user_data)

Notification callback.

Implement this and send as a parameter to tobii_research_subscribe_to_notifications.

Parameters
notificationNotification received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_notifications.

◆ tobii_research_stream_error_callback

typedef void(* tobii_research_stream_error_callback) (TobiiResearchStreamErrorData *stream_error, void *user_data)

Stream error callback.

Implement this and send as a parameter to tobii_research_subscribe_to_stream_errors.

Parameters
stream_errorTobiiResearchStreamErrorData object.
user_dataCaller specific data sent in with tobii_research_subscribe_to_stream_errors.

◆ tobii_research_time_synchronization_data_callback

typedef void(* tobii_research_time_synchronization_data_callback) (TobiiResearchTimeSynchronizationData *time_synchronization_data, void *user_data)

Time synchronization callback.

Implement this and send as a parameter to tobii_research_subscribe_to_time_synchronization_data.

Parameters
gaze_dataTime synchronization data received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_time_synchronization_data.

◆ tobii_research_user_position_guide_callback

typedef void(* tobii_research_user_position_guide_callback) (TobiiResearchUserPositionGuide *user_position_guide, void *user_data)

User position guide data callback.

Implement this and send as a parameter to tobii_research_subscribe_to_user_position_guide.

Parameters
gaze_dataGaze data received from the eye tracker.
user_dataCaller specific data sent in with tobii_research_subscribe_to_user_position_guide.

◆ TobiiResearchNotificationString

typedef char TobiiResearchNotificationString[512]

Enumeration Type Documentation

◆ TobiiResearchExternalSignalChangeType

Defines external signal change type.

Enumerator
TOBII_RESEARCH_EXTERNAL_SIGNAL_VALUE_CHANGED 

Indicates that the value sent to the eye tracker has changed.

TOBII_RESEARCH_EXTERNAL_SIGNAL_INITIAL_VALUE 

Indicates that the value is the initial value, and is received when starting a subscription.

TOBII_RESEARCH_EXTERNAL_SIGNAL_CONNECTION_RESTORED 

Indicates that there has been a connection lost and now it is restored and the value is the current value.

◆ TobiiResearchEyeImageType

Defines eye image type.

Enumerator
TOBII_RESEARCH_EYE_IMAGE_TYPE_FULL 

Indicates that the eye tracker could not identify the eyes, and the image is the full image.

TOBII_RESEARCH_EYE_IMAGE_TYPE_CROPPED 

Indicates that the image is cropped and shows the eyes.

TOBII_RESEARCH_EYE_IMAGE_TYPE_MULTI_ROI 

The eye image is part of a group of regions of interest.

TOBII_RESEARCH_EYE_IMAGE_TYPE_UNKNOWN 

The eye image has an unexpected type.

◆ TobiiResearchNotificationType

Defines notification types

Enumerator
TOBII_RESEARCH_NOTIFICATION_CONNECTION_LOST 

Indicates that the connection to the eye tracker is lost.

TOBII_RESEARCH_NOTIFICATION_CONNECTION_RESTORED 

Indicates that the connection to the eye tracker is restored.

TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_ENTERED 

Indicates that the calibration mode is entered.

TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_LEFT 

Indicates that the calibration mode is left.

TOBII_RESEARCH_NOTIFICATION_CALIBRATION_CHANGED 

Indicates that the calibration is changed.

TOBII_RESEARCH_NOTIFICATION_TRACK_BOX_CHANGED 

Indicates that the track box is changed.

TOBII_RESEARCH_NOTIFICATION_DISPLAY_AREA_CHANGED 

Indicates that the display area is changed.

TOBII_RESEARCH_NOTIFICATION_GAZE_OUTPUT_FREQUENCY_CHANGED 

Indicates that the gaze output frequency is changed.

TOBII_RESEARCH_NOTIFICATION_EYE_TRACKING_MODE_CHANGED 

Indicates that the eye tracking mode is changed.

TOBII_RESEARCH_NOTIFICATION_DEVICE_FAULTS 

Indicates that the device has reported new faults.

TOBII_RESEARCH_NOTIFICATION_DEVICE_WARNINGS 

Indicates that the device has reported new warnings.

TOBII_RESEARCH_NOTIFICATION_UNKNOWN 

◆ TobiiResearchStreamError

Defines error types

Enumerator
TOBII_RESEARCH_STREAM_ERROR_CONNECTION_LOST 

Indicates that the connection to the eye tracker was lost.

TOBII_RESEARCH_STREAM_ERROR_INSUFFICIENT_LICENSE 

Indicates that the license is insufficient for subscribing to the stream.

TOBII_RESEARCH_STREAM_ERROR_NOT_SUPPORTED 

Indicates that the stream isn't supported by the eye tracker.

TOBII_RESEARCH_STREAM_ERROR_TOO_MANY_SUBSCRIBERS 

Indicates that number of subscriptions to the stream has reached its limit.

TOBII_RESEARCH_STREAM_ERROR_INTERNAL_ERROR 

Indicates that an internal error occurred.

TOBII_RESEARCH_STREAM_ERROR_USER_ERROR 

Indicates that the user threw an exception in the callback.

◆ TobiiResearchStreamErrorSource

Defines error sources

Enumerator
TOBII_RESEARCH_STREAM_ERROR_SOURCE_USER 

User callback failed.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_STREAM_PUMP 

Error when pumping event.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_GAZE_DATA 

Error when subscribing to event for gaze data.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_EXTERNAL_SIGNAL 

Error when subscribing to event for external signal.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_TIME_SYNCHRONIZATION_DATA 

Error when subscribing to event for time synchronization data.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_EYE_IMAGE 

Error when subscribing to event for eye images.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_NOTIFICATION 

Error when subscribing to notification event.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_HMD_GAZE_DATA 

Error when subscribing to event for hmd gaze data.

TOBII_RESEARCH_STREAM_ERROR_SOURCE_SUBSCRIPTION_USER_POSITION_GUIDE 

Error when subscribing to event for user position guide.

◆ TobiiResearchValidity

Specifies the validity.

Enumerator
TOBII_RESEARCH_VALIDITY_INVALID 

Indicates invalid.

TOBII_RESEARCH_VALIDITY_VALID 

Indicates valid.

Function Documentation

◆ tobii_research_subscribe_to_external_signal_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_external_signal_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_external_signal_data_callback  callback,
void *  user_data 
)

Subscribes to external signal data for the eye tracker.

You will get a callback when the value of the external signal port (TTL input) on the eye tracker device changes. Not all eye trackers have an output trigger port. The output feature could be used to synchronize the eye tracker data with data from other devices. The output data contains a time reference that matches the time reference on the time synchronized gaze data.

void external_signal_callback(TobiiResearchExternalSignalData* external_signal_data, void* user_data) {
(void)(user_data); // Is NULL, see subscription call
printf("External signal: device time stamp %" PRId64 ", value %i \n",
external_signal_data->device_time_stamp, external_signal_data->value);
}
void external_signal_example(TobiiResearchEyeTracker* eyetracker) {
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
printf("Subscribing to external signal for eye tracker with serial number %s.\n", serial_number);
tobii_research_subscribe_to_external_signal_data(eyetracker, external_signal_callback, NULL);
/* Wait for external signal. */
sleep_ms(2000);
tobii_research_unsubscribe_from_external_signal_data(eyetracker, external_signal_callback);
printf("Unsubscribed from external signal.\n");
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the external signal data.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
external_signal.c.

◆ tobii_research_subscribe_to_eye_image()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image ( TobiiResearchEyeTracker eyetracker,
tobii_research_eye_image_callback  callback,
void *  user_data 
)

Subscribes to eye image for the eye tracker.

You will get a callback when a new eye image is received, and the occurrence depends on the eye tracker model. Not all eye tracker models support this feature. If no one is listening to gaze data, the eye tracker will only deliver full images, otherwise either cropped or full images will be delivered depending on whether or not the eye tracker has detected eyes.

void eye_image_callback(TobiiResearchEyeImage* frame, void* user_data) {
const char* dir_path = (const char*)user_data;
char img_path[256];
FILE* fd;
TiffHeader header = {
.id=0x4949, // II little endian
.version = 42, // Image version
.offset_first_ifd = sizeof(header) + (int32_t)frame->data_size // Offset to first IFD from start of file
};
TiffIFDEntry img_lenght = {.tag=257, .type=3, .N=1, .value=frame->height}; // Image length (height)
TiffIFDEntry img_width = {.tag=256, .type=3, .N=1, .value=frame->width}; // Image width
TiffIFDEntry compression = {.tag=259, .type=3, .N=1, .value=1}; // Compression 1 = no compression
TiffIFDEntry bits_per_sample = {.tag=258, .type=3, .N=1, .value=8}; // BitsPerSample
TiffIFDEntry strip_offsets = {.tag=273, .type=3, .N=1, .value=8}; // StripOffsets
TiffIFDEntry samples_per_pixels = {.tag=277, .type=3, .N=1, .value=1}; // SamplesPerPixel
TiffIFDEntry photometric_interpretation = {.tag=262, .type=3, .N=1, .value=1}; // PhotometricInterpretation
int16_t number_of_ifd_entries = 7;
int16_t next_ifd_offset = 0; // 0, hence no more IFD in this file
sprintf(img_path, "%s/eye_image_%" PRId64 ".tif", dir_path, frame->device_time_stamp); // Create image name
printf("Received image %s\n", img_path);
fd = fopen(img_path, "wb");
fwrite(&header, sizeof(header), 1, fd); // Writing header
fwrite(frame->data, frame->data_size, 1, fd); // Writing image data to file
// Writing IFD entries, starts with number of entries
fwrite(&number_of_ifd_entries, 1, sizeof(number_of_ifd_entries), fd);
fwrite(&img_lenght, 1, sizeof(img_lenght), fd);
fwrite(&img_width, 1, sizeof(img_width), fd);
fwrite(&compression, 1, sizeof(compression), fd);
fwrite(&bits_per_sample, 1, sizeof(bits_per_sample), fd);
fwrite(&strip_offsets, 1, sizeof(strip_offsets), fd);
fwrite(&samples_per_pixels, 1, sizeof(samples_per_pixels), fd);
fwrite(&photometric_interpretation, 1, sizeof(photometric_interpretation), fd);
fwrite(&next_ifd_offset, 1, sizeof(next_ifd_offset), fd);
fclose(fd);
}
void eye_images_example(TobiiResearchEyeTracker* eyetracker, const char* dir_path) {
/* Subscribe to eye images */
tobii_research_subscribe_to_eye_image(eyetracker, eye_image_callback, (void*)dir_path);
/* Wait for eye images. */
sleep_ms(2000);
/* Unsubscribe to eye images */
tobii_research_unsubscribe_from_eye_image(eyetracker, eye_image_callback);
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the frames.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
eye_images.c.

◆ tobii_research_subscribe_to_eye_image_as_gif()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image_as_gif ( TobiiResearchEyeTracker eyetracker,
tobii_research_eye_image_as_gif_callback  callback,
void *  user_data 
)

Subscribes to eye image for the eye tracker with the image delivered in gif format.

You will get a callback when a new eye image is received, and the occurrence depends on the eye tracker model. Not all eye tracker models support this feature. If no one is listening to gaze data, the eye tracker will only deliver full images, otherwise either cropped or full images will be delivered depending on whether or not the eye tracker has detected eyes.

void eye_image_as_gif_callback(TobiiResearchEyeImageGif* frame, void* user_data) {
const char* dir_path = (const char*)user_data;
char img_path[256];
FILE* fd;
sprintf(img_path, "%s/eye_image_%" PRId64 ".gif", dir_path, frame->device_time_stamp);
printf("Received image %s\n", img_path);
fd = fopen(img_path, "wb");
fwrite(frame->image_data, frame->image_size, 1, fd);
fclose(fd);
}
void eye_images_as_gif_example(TobiiResearchEyeTracker* eyetracker, const char* dir_path) {
/* Subscribe to eye images */
eyetracker,
eye_image_as_gif_callback, (void*)dir_path);
/* Wait for eye images. */
sleep_ms(2000);
/* Unsubscribe to eye images */
eyetracker,
eye_image_as_gif_callback);
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the frames.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
eye_images_as_gif.c.

◆ tobii_research_subscribe_to_gaze_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_gaze_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_gaze_data_callback  callback,
void *  user_data 
)

Subscribes to gaze data for the eye tracker.

You will get a callback when time synchronized gaze is received.Time synchronized gaze is not supported on all eye trackers, other eye trackers need additional license to activate this support.

void gaze_data_callback(TobiiResearchGazeData* gaze_data, void* user_data) {
memcpy(user_data, gaze_data, sizeof(*gaze_data));
}
void gaze_data_example(TobiiResearchEyeTracker* eyetracker) {
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
printf("Subscribing to gaze data for eye tracker with serial number %s.\n", serial_number);
TobiiResearchStatus status = tobii_research_subscribe_to_gaze_data(eyetracker, gaze_data_callback, &gaze_data);
if (status != TOBII_RESEARCH_STATUS_OK)
return;
/* Wait while some gaze data is collected. */
sleep_ms(2000);
status = tobii_research_unsubscribe_from_gaze_data(eyetracker, gaze_data_callback);
printf("Unsubscribed from gaze data with status %i.\n", status);
printf("Last received gaze package:\n");
printf("System time stamp: %" PRId64 "\n", gaze_data.system_time_stamp);
printf("Device time stamp: %" PRId64 "\n", gaze_data.device_time_stamp);
printf("Left eye 2D gaze point on display area: (%f, %f)\n",
printf("Right eye 3d gaze origin in user coordinates (%f, %f, %f)\n",
/* Wait while some gaze data is collected. */
sleep_ms(2000);
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the gaze data.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
gaze_data.c.

◆ tobii_research_subscribe_to_hmd_gaze_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_hmd_gaze_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_hmd_gaze_data_callback  callback,
void *  user_data 
)

Subscribes to gaze data for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the gaze data.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.

◆ tobii_research_subscribe_to_notifications()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_notifications ( TobiiResearchEyeTracker eyetracker,
tobii_research_notification_callback  callback,
void *  user_data 
)

Subscribes to notifications for the eye tracker.

You will get a callback when notification is received.

void notification_callback(TobiiResearchNotification* notification, void* user_data) {
printf("Enter calibration mode notification received at time stamp %" PRId64 ".\n", notification->system_time_stamp);
}
printf("Left calibration mode notification received at time stamp %" PRId64 ".\n", notification-> system_time_stamp);
}
(void)(user_data); // Is NULL, see subscription call
}
void notifications_example(TobiiResearchEyeTracker* eyetracker) {
tobii_research_subscribe_to_notifications(eyetracker, notification_callback, NULL);
/* Trigger some notifications */
/* Unsubscribe from notifications. */
tobii_research_unsubscribe_from_notifications(eyetracker, notification_callback);
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the notifications.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
notifications.c.

◆ tobii_research_subscribe_to_stream_errors()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_stream_errors ( TobiiResearchEyeTracker eyetracker,
tobii_research_stream_error_callback  callback,
void *  user_data 
)

Subscribes to stream errors for the eye tracker.

You will get a callback when an error occurs on other streams. You can get errors when subscribing, when something happened to the connection in the stream pump or when an error was raised in a callback.

Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the stream errors.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.

◆ tobii_research_subscribe_to_time_synchronization_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_time_synchronization_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_time_synchronization_data_callback  callback,
void *  user_data 
)

Subscribes to time synchronization data for the eye tracker.

You will get a callback when the computer and the eye trackers clocks gets synchronized. To handle normal drifts between clocks the clocks are checked on regular basis, and this results in that the time stamps are adjusted for the drifts in the data streams. This drift handling is done in real time. The data received from this event could be used for an even more accurate drift adjustment in the post processing.

void time_synchronization_data_callback(TobiiResearchTimeSynchronizationData* time_synchronization_data,
void* user_data){
(void)(user_data); // Is NULL, see subscribing call
printf("Device time stamp: %" PRId64 "\n", time_synchronization_data->device_time_stamp);
printf("System request time stamp: %" PRId64 "\n", time_synchronization_data->system_request_time_stamp);
printf("System response time stamp: %" PRId64 "\n", time_synchronization_data->system_response_time_stamp);
}
void time_synchronization_data_example(TobiiResearchEyeTracker* eyetracker) {
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
printf("Subscribing to time synchronization data for eye tracker with serial number %s.\n", serial_number);
tobii_research_subscribe_to_time_synchronization_data(eyetracker, time_synchronization_data_callback, NULL);
/* Wait while some time synchronization data is collected. */
sleep_ms(2000);
tobii_research_unsubscribe_from_time_synchronization_data(eyetracker, time_synchronization_data_callback);
printf("Unsubscribed from time synchronization data.\n");
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the time synchronization data.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
time_synchronization_data.c.

◆ tobii_research_subscribe_to_user_position_guide()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_user_position_guide ( TobiiResearchEyeTracker eyetracker,
tobii_research_user_position_guide_callback  callback,
void *  user_data 
)

Subscribes to user position guide for the eye tracker.

void user_position_guide_callback(TobiiResearchUserPositionGuide* user_position_guide, void* user_data) {
memcpy(user_data, user_position_guide, sizeof(*user_position_guide));
}
void user_position_guide_example(TobiiResearchEyeTracker* eyetracker) {
TobiiResearchUserPositionGuide user_position_guide;
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
printf("Subscribing to user position guide for eye tracker with serial number %s.\n", serial_number);
user_position_guide_callback, &user_position_guide);
if (status != TOBII_RESEARCH_STATUS_OK)
return;
/* Wait while some user position guide is collected. */
sleep_ms(2000);
status = tobii_research_unsubscribe_from_user_position_guide(eyetracker, user_position_guide_callback);
printf("Unsubscribed from user position guide with status %i.\n", status);
printf("Last received gaze package:\n");
printf("Left eye 3D gaze point user position: (%f, %f, %F)\n",
user_position_guide.left_eye.user_position.x,
user_position_guide.left_eye.user_position.y,
user_position_guide.left_eye.user_position.z);
printf("Right eye 3D gaze point user position: (%f, %f, %f)\n",
user_position_guide.right_eye.user_position.x,
user_position_guide.right_eye.user_position.y,
user_position_guide.right_eye.user_position.z);
/* Wait while some data is collected. */
sleep_ms(2000);
}
Parameters
eyetrackerEye tracker object.
callbackCallback that will receive the user position guide.
user_dataCaller specific data that will be sent to the callback.
Returns
A TobiiResearchStatus code.
Examples
user_position_guide.c.

◆ tobii_research_unsubscribe_from_external_signal_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_external_signal_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_external_signal_data_callback  callback 
)

Unsubscribes from external signal data for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_external_signal_data
Returns
A TobiiResearchStatus code.
Examples
external_signal.c.

◆ tobii_research_unsubscribe_from_eye_image()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image ( TobiiResearchEyeTracker eyetracker,
tobii_research_eye_image_callback  callback 
)

Unsubscribes from eye image for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_eye_image.
Returns
A TobiiResearchStatus code.
Examples
eye_images.c.

◆ tobii_research_unsubscribe_from_eye_image_as_gif()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image_as_gif ( TobiiResearchEyeTracker eyetracker,
tobii_research_eye_image_as_gif_callback  callback 
)

Unsubscribes from eye image for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_eye_image_as_gif.
Returns
A TobiiResearchStatus code.
Examples
eye_images_as_gif.c.

◆ tobii_research_unsubscribe_from_gaze_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_gaze_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_gaze_data_callback  callback 
)

Unsubscribes from gaze data for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_gaze_data.
Returns
A TobiiResearchStatus code.
Examples
gaze_data.c.

◆ tobii_research_unsubscribe_from_hmd_gaze_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_hmd_gaze_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_hmd_gaze_data_callback  callback 
)

Unsubscribes from HMD gaze data for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_hmd_gaze_data.
Returns
A TobiiResearchStatus code.

◆ tobii_research_unsubscribe_from_notifications()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_notifications ( TobiiResearchEyeTracker eyetracker,
tobii_research_notification_callback  callback 
)

Unsubscribes from notifications for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_notifications.
Returns
A TobiiResearchStatus code.
Examples
notifications.c.

◆ tobii_research_unsubscribe_from_stream_errors()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_stream_errors ( TobiiResearchEyeTracker eyetracker,
tobii_research_stream_error_callback  callback 
)

Unsubscribes from stream errors for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_stream_errors.
Returns
A TobiiResearchStatus code.

◆ tobii_research_unsubscribe_from_time_synchronization_data()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_time_synchronization_data ( TobiiResearchEyeTracker eyetracker,
tobii_research_time_synchronization_data_callback  callback 
)

Unsubscribes from time synchronization data for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_time_synchronization_data.
Returns
A TobiiResearchStatus code.
Examples
time_synchronization_data.c.

◆ tobii_research_unsubscribe_from_user_position_guide()

TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_user_position_guide ( TobiiResearchEyeTracker eyetracker,
tobii_research_user_position_guide_callback  callback 
)

Unsubscribes from user position guide for the eye tracker.

Parameters
eyetrackerEye tracker object.
callbackCallback sent to tobii_research_subscribe_to_user_position_guide.
Returns
A TobiiResearchStatus code.
Examples
user_position_guide.c.
tobii_research_unsubscribe_from_eye_image
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_callback callback)
Unsubscribes from eye image for the eye tracker.
TobiiResearchTimeSynchronizationData::system_request_time_stamp
int64_t system_request_time_stamp
Definition: tobii_research_streams.h:274
tobii_research_unsubscribe_from_user_position_guide
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_user_position_guide(TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback)
Unsubscribes from user position guide for the eye tracker.
TobiiResearchNormalizedPoint2D::y
float y
Definition: tobii_research.h:387
TobiiResearchEyeImage::height
int height
Definition: tobii_research_streams.h:847
TobiiResearchGazeData::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:131
TobiiResearchEyeImage::data
void * data
Definition: tobii_research_streams.h:863
TobiiResearchExternalSignalData
Definition: tobii_research_streams.h:310
TobiiResearchPoint3D::y
float y
Definition: tobii_research.h:402
tobii_research_unsubscribe_from_external_signal_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_external_signal_data(TobiiResearchEyeTracker *eyetracker, tobii_research_external_signal_data_callback callback)
Unsubscribes from external signal data for the eye tracker.
TobiiResearchEyeData::gaze_point
TobiiResearchGazePoint gaze_point
Definition: tobii_research_streams.h:101
tobii_research_subscribe_to_eye_image
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_callback callback, void *user_data)
Subscribes to eye image for the eye tracker.
tobii_research_unsubscribe_from_gaze_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_gaze_data(TobiiResearchEyeTracker *eyetracker, tobii_research_gaze_data_callback callback)
Unsubscribes from gaze data for the eye tracker.
TobiiResearchUserPositionGuide
Definition: tobii_research_streams.h:159
tobii_research_unsubscribe_from_time_synchronization_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_time_synchronization_data(TobiiResearchEyeTracker *eyetracker, tobii_research_time_synchronization_data_callback callback)
Unsubscribes from time synchronization data for the eye tracker.
TobiiResearchTimeSynchronizationData::system_response_time_stamp
int64_t system_response_time_stamp
Definition: tobii_research_streams.h:284
TobiiResearchEyeUserPositionGuide::user_position
TobiiResearchNormalizedPoint3D user_position
Definition: tobii_research_streams.h:147
TobiiResearchEyeImageGif::image_size
size_t image_size
Definition: tobii_research_streams.h:901
TobiiResearchEyeImage::width
int width
Definition: tobii_research_streams.h:843
TobiiResearchNotification
Definition: tobii_research_streams.h:484
TobiiResearchExternalSignalData::value
uint32_t value
Definition: tobii_research_streams.h:324
tobii_research_subscribe_to_eye_image_as_gif
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_image_as_gif(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_as_gif_callback callback, void *user_data)
Subscribes to eye image for the eye tracker with the image delivered in gif format.
TobiiResearchGazeData::system_time_stamp
int64_t system_time_stamp
Definition: tobii_research_streams.h:136
tobii_research_get_serial_number
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_get_serial_number(TobiiResearchEyeTracker *eyetracker, char **serial_number)
Gets the serial number of the eye tracker. All physical eye trackers have a unique serial number.
TobiiResearchExternalSignalData::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:314
TobiiResearchUserPositionGuide::left_eye
TobiiResearchEyeUserPositionGuide left_eye
Definition: tobii_research_streams.h:163
TobiiResearchEyeImage::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:827
TobiiResearchNotification::system_time_stamp
int64_t system_time_stamp
Definition: tobii_research_streams.h:488
TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_ENTERED
@ TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_ENTERED
Definition: tobii_research_streams.h:431
TobiiResearchPoint3D::x
float x
Definition: tobii_research.h:398
tobii_research_free_string
TOBII_RESEARCH_API void TOBII_RESEARCH_CALL tobii_research_free_string(char *str)
Free memory allocation for a string allocated by the SDK.
tobii_research_subscribe_to_notifications
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_notifications(TobiiResearchEyeTracker *eyetracker, tobii_research_notification_callback callback, void *user_data)
Subscribes to notifications for the eye tracker.
TobiiResearchEyeImageGif
Definition: tobii_research_streams.h:881
TobiiResearchGazeOrigin::position_in_user_coordinates
TobiiResearchPoint3D position_in_user_coordinates
Definition: tobii_research_streams.h:46
tobii_research_unsubscribe_from_eye_image_as_gif
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_image_as_gif(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_image_as_gif_callback callback)
Unsubscribes from eye image for the eye tracker.
tobii_research_unsubscribe_from_notifications
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_notifications(TobiiResearchEyeTracker *eyetracker, tobii_research_notification_callback callback)
Unsubscribes from notifications for the eye tracker.
TobiiResearchTimeSynchronizationData::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:279
TobiiResearchGazeData::right_eye
TobiiResearchEyeData right_eye
Definition: tobii_research_streams.h:126
TobiiResearchGazeData
Definition: tobii_research_streams.h:117
TobiiResearchEyeTracker
struct TobiiResearchEyeTracker TobiiResearchEyeTracker
Definition: tobii_research.h:310
tobii_research_subscribe_to_external_signal_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_external_signal_data(TobiiResearchEyeTracker *eyetracker, tobii_research_external_signal_data_callback callback, void *user_data)
Subscribes to external signal data for the eye tracker.
TobiiResearchUserPositionGuide::right_eye
TobiiResearchEyeUserPositionGuide right_eye
Definition: tobii_research_streams.h:168
TobiiResearchEyeImageGif::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:885
TobiiResearchNormalizedPoint2D::x
float x
Definition: tobii_research.h:383
tobii_research_screen_based_calibration_enter_calibration_mode
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_screen_based_calibration_enter_calibration_mode(TobiiResearchEyeTracker *eyetracker)
Enters the screen based calibration mode and the eye tracker is made ready for collecting data and ca...
TobiiResearchTimeSynchronizationData
Definition: tobii_research_streams.h:270
tobii_research_screen_based_calibration_leave_calibration_mode
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_screen_based_calibration_leave_calibration_mode(TobiiResearchEyeTracker *eyetracker)
Leaves the screen based calibration mode.
TobiiResearchEyeData::gaze_origin
TobiiResearchGazeOrigin gaze_origin
Definition: tobii_research_streams.h:111
TobiiResearchGazePoint::position_on_display_area
TobiiResearchNormalizedPoint2D position_on_display_area
Definition: tobii_research_streams.h:81
TobiiResearchGazeData::left_eye
TobiiResearchEyeData left_eye
Definition: tobii_research_streams.h:121
TobiiResearchPoint3D::z
float z
Definition: tobii_research.h:406
TOBII_RESEARCH_STATUS_OK
@ TOBII_RESEARCH_STATUS_OK
Definition: tobii_research.h:49
TobiiResearchEyeImage
Definition: tobii_research_streams.h:823
TobiiResearchEyeImage::data_size
size_t data_size
Definition: tobii_research_streams.h:859
TobiiResearchEyeImageGif::image_data
void * image_data
Definition: tobii_research_streams.h:905
tobii_research_subscribe_to_user_position_guide
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_user_position_guide(TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback, void *user_data)
Subscribes to user position guide for the eye tracker.
TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_LEFT
@ TOBII_RESEARCH_NOTIFICATION_CALIBRATION_MODE_LEFT
Definition: tobii_research_streams.h:436
tobii_research_subscribe_to_time_synchronization_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_time_synchronization_data(TobiiResearchEyeTracker *eyetracker, tobii_research_time_synchronization_data_callback callback, void *user_data)
Subscribes to time synchronization data for the eye tracker.
tobii_research_subscribe_to_gaze_data
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_gaze_data(TobiiResearchEyeTracker *eyetracker, tobii_research_gaze_data_callback callback, void *user_data)
Subscribes to gaze data for the eye tracker.
TobiiResearchStatus
TobiiResearchStatus
Definition: tobii_research.h:45
TobiiResearchNotification::notification_type
TobiiResearchNotificationType notification_type
Definition: tobii_research_streams.h:492