Details

EyeVecResult

Enumeration of library function results codes.

typedef enum _EyeVecResult {
    EYEVEC_RESULT_OK,
    EYEVEC_RESULT_ERROR = -2000,
    EYEVEC_RESULT_VERSION_MISMATCH = -2001,
    EYEVEC_RESULT_NOT_IMPLEMENTED = -2002,
    EYEVEC_RESULT_NOT_SUPPORTED = -2003,
    EYEVEC_RESULT_LOAD_LICENSE_FAILED = -2004,
    EYEVEC_RESULT_NOT_LICENSED = -2005,
    EYEVEC_RESULT_LICENSE_EXPIRED = -2006,
    EYEVEC_RESULT_OPEN_FAILED = -2007,
    EYEVEC_RESULT_NOT_OPEN = -2008,
    EYEVEC_RESULT_NOT_IDLE = -2009,
    EYEVEC_RESULT_SELECT_CONFIG_FAILED = -2010,
    EYEVEC_RESULT_GET_FEATURE_FAILED = -2011,
    EYEVEC_RESULT_SET_FEATURE_FAILED = -2012,
    EYEVEC_RESULT_LINE_MODE_FAILED = -2013,
    EYEVEC_RESULT_LINE_SOURCE_FAILED = -2014,
    EYEVEC_RESULT_OUTPUT_LINE_FAILED = -2015,
    EYEVEC_RESULT_INPUT_LINE_FAILED = -2016,
    EYEVEC_RESULT_TIME_SYNC_FAILED = -2017,
    EYEVEC_RESULT_CAPTURE_FAILED = -2018,
    EYEVEC_RESULT_NO_BASELINE = -2019,
    EYEVEC_RESULT_NO_CALIBRATION = -2020,
    EYEVEC_RESULT_NO_DRIFT_DATA = -2021,
    EYEVEC_RESULT_DRIFT_TOO_LARGE = -2022,
    EYEVEC_RESULT_WRONG_MODE = -2023,
    EYEVEC_RESULT_ATTRIBUTE_LOCKED = -2024,
    EYEVEC_RESULT_LOCKED_BY_MODE = -2025,
    EYEVEC_RESULT_DELETE_DIR_FAILED = -2026,
    EYEVEC_RESULT_CREATE_DIR_FAILED = -2027,
    EYEVEC_RESULT_DELETE_FILE_FAILED = -2028,
    EYEVEC_RESULT_CREATE_FILE_FAILED = -2029,
    EYEVEC_RESULT_OPEN_FILE_FAILED = -2030,
    EYEVEC_RESULT_CLOSE_FILE_FAILED = -2031,
    EYEVEC_RESULT_WRITE_FILE_FAILED = -2032,
    EYEVEC_RESULT_DISK_FULL = -2033,
    EYEVEC_RESULT_READ_FILE_FAILED = -2034,
    EYEVEC_RESULT_FILE_INVALID = -2035,
    EYEVEC_RESULT_OPEN_DISPLAY_FAILED = -2036,
    EYEVEC_RESULT_SHOW_WINDOW_FAILED = -2037,
    EYEVEC_RESULT_INVALID_SCREEN_INFO = -2038,
    EYEVEC_RESULT_TOO_MANY_POINTS = -2039,
    EYEVEC_RESULT_POINT_OUT_OF_RANGE = -2040,
    EYEVEC_RESULT_POINTS_TOO_CLOSE = -2041,
    EYEVEC_RESULT_TEST_ITEM_NOT_FOUND = -2042,
    EYEVEC_RESULT_TEST_ITEM_EXISTS = -2043,
    EYEVEC_RESULT_WRONG_TEST_ITEM_TYPE = -2044,
    EYEVEC_RESULT_SYSTEM_CALL_FAILED = -2100,
    EYEVEC_RESULT_SPAWN_FAILED = -2101,
    EYEVEC_RESULT_COMMUNICATION_FAILED = -2102,
    EYEVEC_RESULT_NOT_RUNNING = -2103
} EyeVecResult;
Constant Description

EYEVEC_RESULT_OK

OK

EYEVEC_RESULT_ERROR

Unspecified error

EYEVEC_RESULT_VERSION_MISMATCH

Version mismatch

EYEVEC_RESULT_NOT_IMPLEMENTED

Not implemented

EYEVEC_RESULT_NOT_SUPPORTED

Not supported

EYEVEC_RESULT_LOAD_LICENSE_FAILED

Unable to load license

EYEVEC_RESULT_NOT_LICENSED

Eye-tracker not covered by license

EYEVEC_RESULT_LICENSE_EXPIRED

License has expired

EYEVEC_RESULT_OPEN_FAILED

Unable to open device

EYEVEC_RESULT_NOT_OPEN

Device not open

EYEVEC_RESULT_NOT_IDLE

Device not idle

EYEVEC_RESULT_SELECT_CONFIG_FAILED

Unable to select device configuration

EYEVEC_RESULT_GET_FEATURE_FAILED

Unable to retrieve device attribute

EYEVEC_RESULT_SET_FEATURE_FAILED

Unable to adjust device attribute

EYEVEC_RESULT_LINE_MODE_FAILED

Unable to set device IO-line mode

EYEVEC_RESULT_LINE_SOURCE_FAILED

Unable to set device output line source

EYEVEC_RESULT_OUTPUT_LINE_FAILED

Unable to write device output line(s)

EYEVEC_RESULT_INPUT_LINE_FAILED

Unable to read device input lines

EYEVEC_RESULT_TIME_SYNC_FAILED

Unable to synchronize clocks

EYEVEC_RESULT_CAPTURE_FAILED

Unable to start video capture

EYEVEC_RESULT_NO_BASELINE

Operation not possible; no baseline

EYEVEC_RESULT_NO_CALIBRATION

Operation not possible; not calibrated

EYEVEC_RESULT_NO_DRIFT_DATA

Operation not possible; no drift data

EYEVEC_RESULT_DRIFT_TOO_LARGE

Operation not possible; drift too large

EYEVEC_RESULT_WRONG_MODE

Operation not possible in current mode

EYEVEC_RESULT_ATTRIBUTE_LOCKED

Attribute not writable (locked)

EYEVEC_RESULT_LOCKED_BY_MODE

Attribute not writable in current mode

EYEVEC_RESULT_DELETE_DIR_FAILED

Unable to delete directory

EYEVEC_RESULT_CREATE_DIR_FAILED

Unable to create directory

EYEVEC_RESULT_DELETE_FILE_FAILED

Unable to delete file

EYEVEC_RESULT_CREATE_FILE_FAILED

Unable to create file

EYEVEC_RESULT_OPEN_FILE_FAILED

Unable to open file

EYEVEC_RESULT_CLOSE_FILE_FAILED

Error closing file

EYEVEC_RESULT_WRITE_FILE_FAILED

Unable to write file

EYEVEC_RESULT_DISK_FULL

Maximum disk usage reached

EYEVEC_RESULT_READ_FILE_FAILED

Unable to read file

EYEVEC_RESULT_FILE_INVALID

File contains invalid data

EYEVEC_RESULT_OPEN_DISPLAY_FAILED

Unable to open display

EYEVEC_RESULT_SHOW_WINDOW_FAILED

Unable to show window

EYEVEC_RESULT_INVALID_SCREEN_INFO

Invalid screen size or refresh interval

EYEVEC_RESULT_TOO_MANY_POINTS

Too many points in custom pattern

EYEVEC_RESULT_POINT_OUT_OF_RANGE

Point(s) in custom pattern out of range

EYEVEC_RESULT_POINTS_TOO_CLOSE

Points in custom pattern too close

EYEVEC_RESULT_TEST_ITEM_NOT_FOUND

Test item not found

EYEVEC_RESULT_TEST_ITEM_EXISTS

Test item already exists

EYEVEC_RESULT_WRONG_TEST_ITEM_TYPE

Wrong test item type

EYEVEC_RESULT_SYSTEM_CALL_FAILED

System call failed

EYEVEC_RESULT_SPAWN_FAILED

Unable to start EyeVec server application

EYEVEC_RESULT_COMMUNICATION_FAILED

Communication with EyeVec server application failed

EYEVEC_RESULT_NOT_RUNNING

EyeVec server application not running

EyeVecEventId

Enumeration of event IDs.

typedef enum _EyeVecEventId {
    EYEVEC_EVENT_NONE = -1,
    EYEVEC_EVENT_MODE_CHANGE=20,
    EYEVEC_EVENT_DISPLAY_DATA,
    EYEVEC_EVENT_EYE_DATA,
    EYEVEC_EVENT_BLINK_START,
    EYEVEC_EVENT_BLINK_END,
    EYEVEC_EVENT_BLINK_UPDATE,
    EYEVEC_EVENT_SACCADE_START,
    EYEVEC_EVENT_SACCADE_END,
    EYEVEC_EVENT_FIXATION_START,
    EYEVEC_EVENT_FIXATION_END,
    EYEVEC_EVENT_FIXATION_UPDATE,
    EYEVEC_EVENT_TEST_ITEM_START,
    EYEVEC_EVENT_TEST_ITEM_END
} EyeVecEventId;
Constant Description

EYEVEC_EVENT_NONE

No event

EYEVEC_EVENT_MODE_CHANGE=20

Operating mode changed

EYEVEC_EVENT_DISPLAY_DATA

Display data available

EYEVEC_EVENT_EYE_DATA

Eye data available

EYEVEC_EVENT_BLINK_START

Blink start detected

EYEVEC_EVENT_BLINK_END

Blink end detected

EYEVEC_EVENT_BLINK_UPDATE

Blink update

EYEVEC_EVENT_SACCADE_START

Saccade start detected

EYEVEC_EVENT_SACCADE_END

Saccade end detected

EYEVEC_EVENT_FIXATION_START

Fixation start detected

EYEVEC_EVENT_FIXATION_END

Fixation end detected

EYEVEC_EVENT_FIXATION_UPDATE

Fixation update

EYEVEC_EVENT_TEST_ITEM_START

Test-item presentation started

EYEVEC_EVENT_TEST_ITEM_END

Test-item presentation finished

EyeVecFrameRate

Enumeration of frame rates.

typedef enum _EyeVecFrameRate {
    EYEVEC_FRAME_RATE_NONE = 0,
    EYEVEC_FRAME_RATE_120 = 120,
    EYEVEC_FRAME_RATE_125 = 125,
    EYEVEC_FRAME_RATE_240 = 240,
    EYEVEC_FRAME_RATE_250 = 250,
    EYEVEC_FRAME_RATE_480 = 480,
    EYEVEC_FRAME_RATE_500 = 500,
    EYEVEC_FRAME_RATE_750 = 750,
    EYEVEC_FRAME_RATE_960 = 960,
    EYEVEC_FRAME_RATE_1000 = 1000
} EyeVecFrameRate;
Constant Description

EYEVEC_FRAME_RATE_NONE

Frame rate undefined

EYEVEC_FRAME_RATE_120

Frame rate 120Hz (not supported ATM)

EYEVEC_FRAME_RATE_125

Frame rate 125Hz

EYEVEC_FRAME_RATE_240

Frame rate 240Hz (not supported ATM)

EYEVEC_FRAME_RATE_250

Frame rate 250Hz

EYEVEC_FRAME_RATE_480

Frame rate 480Hz (not supported ATM)

EYEVEC_FRAME_RATE_500

Frame rate 500Hz

EYEVEC_FRAME_RATE_750

Frame rate 750Hz

EYEVEC_FRAME_RATE_960

Frame rate 960Hz (not supported ATM)

EYEVEC_FRAME_RATE_1000

Frame rate 1000Hz

EyeVecIlluminatorMode

Enumeration of illuminator modes.

typedef enum _EyeVecIlluminatorMode {
    EYEVEC_ILLUMINATOR_MODE_OFF,
    EYEVEC_ILLUMINATOR_MODE_ON_CAPTURE,
    EYEVEC_ILLUMINATOR_MODE_ON_EXPOSURE
} EyeVecIlluminatorMode;
Constant Description

EYEVEC_ILLUMINATOR_MODE_OFF

Illuminator disabled

EYEVEC_ILLUMINATOR_MODE_ON_CAPTURE

Illuminator statically enabled during capture

EYEVEC_ILLUMINATOR_MODE_ON_EXPOSURE

Illuminator enabled during exposure only

EyeVecTrackerStand

Enumeration of eye-tracker stands.

typedef enum _EyeVecTrackerStand {
    EYEVEC_TRACKER_STAND_LOWER_NOTCH,
    EYEVEC_TRACKER_STAND_MIDDLE_NOTCH,
    EYEVEC_TRACKER_STAND_UPPER_NOTCH,
    EYEVEC_TRACKER_STAND_OTHER
} EyeVecTrackerStand;
Constant Description

EYEVEC_TRACKER_STAND_LOWER_NOTCH

EyeVec stand, lowest position

EYEVEC_TRACKER_STAND_MIDDLE_NOTCH

EyeVec stand, middle position

EYEVEC_TRACKER_STAND_UPPER_NOTCH

EyeVec stand, highest position

EYEVEC_TRACKER_STAND_OTHER

Tripod or other stand used

EyeVecTrackerMode

Enumeration of eye-tracker modes.

typedef enum _EyeVecTrackerMode {
    EYEVEC_TRACKER_MODE_OFF,
    EYEVEC_TRACKER_MODE_IDLE,
    EYEVEC_TRACKER_MODE_SETUP,
    EYEVEC_TRACKER_MODE_SETUP_TEST,
    EYEVEC_TRACKER_MODE_SETUP_EVALUATION,
    EYEVEC_TRACKER_MODE_SETUP_BASELINE,
    EYEVEC_TRACKER_MODE_SETUP_CALIBRATION,
    EYEVEC_TRACKER_MODE_SETUP_VALIDATION,
    EYEVEC_TRACKER_MODE_SETUP_DRIFT_CHECK,
    EYEVEC_TRACKER_MODE_SETUP_RECORDING,
    EYEVEC_TRACKER_MODE_DATA,
    EYEVEC_TRACKER_MODE_DRIFT_CHECK,
    EYEVEC_TRACKER_MODE_RECORDING
} EyeVecTrackerMode;
Constant Description

EYEVEC_TRACKER_MODE_OFF

Device not open

EYEVEC_TRACKER_MODE_IDLE

Device idle (not capturing)

EYEVEC_TRACKER_MODE_SETUP

Device in setup mode

EYEVEC_TRACKER_MODE_SETUP_TEST

Executing test procedure from setup mode (n.a.)

EYEVEC_TRACKER_MODE_SETUP_EVALUATION

Executing evaluation procedure from setup mode (n.a.)

EYEVEC_TRACKER_MODE_SETUP_BASELINE

Executing baseline procedure from setup mode

EYEVEC_TRACKER_MODE_SETUP_CALIBRATION

Executing calibration procedure from setup mode

EYEVEC_TRACKER_MODE_SETUP_VALIDATION

Executing validation procedure from setup mode

EYEVEC_TRACKER_MODE_SETUP_DRIFT_CHECK

Executing drift-check procedure from setup mode

EYEVEC_TRACKER_MODE_SETUP_RECORDING

Device delivering data from setup mode, for testing

EYEVEC_TRACKER_MODE_DATA

Device in data mode

EYEVEC_TRACKER_MODE_DRIFT_CHECK

Executing drift-check procedure

EYEVEC_TRACKER_MODE_RECORDING

Device delivering data

EyeVecProcedureType

Enumeration of data collection procedure types.

typedef enum _EyeVecProcedureType {
    EYEVEC_PROCEDURE_TYPE_NONE,
    EYEVEC_PROCEDURE_TYPE_TEST,
    EYEVEC_PROCEDURE_TYPE_EVALUATION,
    EYEVEC_PROCEDURE_TYPE_BASELINE,
    EYEVEC_PROCEDURE_TYPE_CALIBRATION,
    EYEVEC_PROCEDURE_TYPE_VALIDATION,
    EYEVEC_PROCEDURE_TYPE_DRIFT_CHECK
} EyeVecProcedureType;
Constant Description

EYEVEC_PROCEDURE_TYPE_NONE

No data collection procedure running

EYEVEC_PROCEDURE_TYPE_TEST

In test data collection procedure; stand-alone mode only

EYEVEC_PROCEDURE_TYPE_EVALUATION

In evaluation data collection procedure; stand-alone mode only

EYEVEC_PROCEDURE_TYPE_BASELINE

In baseline data collection procedure

EYEVEC_PROCEDURE_TYPE_CALIBRATION

In calibration data collection procedure

EYEVEC_PROCEDURE_TYPE_VALIDATION

In validation data collection procedure

EYEVEC_PROCEDURE_TYPE_DRIFT_CHECK

In drift-check data collection procedure

EyeVecProcedureState

Enumeration of data collection procedure states.

typedef enum _EyeVecProcedureState {
    EYEVEC_PROCEDURE_STATE_IDLE,
    EYEVEC_PROCEDURE_STATE_PENDING_START,
    EYEVEC_PROCEDURE_STATE_RUNNING,
    EYEVEC_PROCEDURE_STATE_PENDING_STOP
} EyeVecProcedureState;
Constant Description

EYEVEC_PROCEDURE_STATE_IDLE

Idle, not running

EYEVEC_PROCEDURE_STATE_PENDING_START

About to start procedure

EYEVEC_PROCEDURE_STATE_RUNNING

Procedure running

EYEVEC_PROCEDURE_STATE_PENDING_STOP

About to finish/abort procedure

EyeVecExitStatus

Enumeration of data collection procedure or recording exit statuses.

typedef enum _EyeVecExitStatus {
    EYEVEC_EXIT_STATUS_NONE,
    EYEVEC_EXIT_STATUS_OK,
    EYEVEC_EXIT_STATUS_ABORTED,
    EYEVEC_EXIT_STATUS_FAILED,
    EYEVEC_EXIT_STATUS_ERROR
} EyeVecExitStatus;
Constant Description

EYEVEC_EXIT_STATUS_NONE

Status not set, N.A.

EYEVEC_EXIT_STATUS_OK

Procedure finished succesfully

EYEVEC_EXIT_STATUS_ABORTED

Procedure aborted

EYEVEC_EXIT_STATUS_FAILED

Procedure failed due to unusable data

EYEVEC_EXIT_STATUS_ERROR

Procedure failed due to device error

EyeVecCalibrationType

Enumeration of calibration types (patterns).

typedef enum _EyeVecCalibrationType {
    EYEVEC_CALIBRATION_TYPE_NONE,
    EYEVEC_CALIBRATION_TYPE_CUSTOM1,
    EYEVEC_CALIBRATION_TYPE_CUSTOM2,
    EYEVEC_CALIBRATION_TYPE_1,
    EYEVEC_CALIBRATION_TYPE_2_HOR,
    EYEVEC_CALIBRATION_TYPE_2_VER,
    EYEVEC_CALIBRATION_TYPE_2_SLOPE_UP,
    EYEVEC_CALIBRATION_TYPE_2_SLOPE_DOWN,
    EYEVEC_CALIBRATION_TYPE_3_HOR,
    EYEVEC_CALIBRATION_TYPE_3_VER,
    EYEVEC_CALIBRATION_TYPE_3_SLOPE_UP,
    EYEVEC_CALIBRATION_TYPE_3_SLOPE_DOWN,
    EYEVEC_CALIBRATION_TYPE_3_UP,
    EYEVEC_CALIBRATION_TYPE_3_DOWN,
    EYEVEC_CALIBRATION_TYPE_4_SQUARE,
    EYEVEC_CALIBRATION_TYPE_4_DIAMOND,
    EYEVEC_CALIBRATION_TYPE_5_SQUARE,
    EYEVEC_CALIBRATION_TYPE_5_DIAMOND,
    EYEVEC_CALIBRATION_TYPE_6_HOR,
    EYEVEC_CALIBRATION_TYPE_6_VER,
    EYEVEC_CALIBRATION_TYPE_7_HOR,
    EYEVEC_CALIBRATION_TYPE_7_VER,
    EYEVEC_CALIBRATION_TYPE_8,
    EYEVEC_CALIBRATION_TYPE_9,
    EYEVEC_CALIBRATION_TYPE_13,
    EYEVEC_CALIBRATION_TYPE_17,
    EYEVEC_CALIBRATION_TYPE_25
} EyeVecCalibrationType;
Constant Description

EYEVEC_CALIBRATION_TYPE_NONE

No pattern

EYEVEC_CALIBRATION_TYPE_CUSTOM1

Custom pattern 1

EYEVEC_CALIBRATION_TYPE_CUSTOM2

Custom pattern 2

EYEVEC_CALIBRATION_TYPE_1

1-point pattern

EYEVEC_CALIBRATION_TYPE_2_HOR

2-point horizontal pattern

EYEVEC_CALIBRATION_TYPE_2_VER

2-point vertical pattern

EYEVEC_CALIBRATION_TYPE_2_SLOPE_UP

2-point diagonal up pattern

EYEVEC_CALIBRATION_TYPE_2_SLOPE_DOWN

3-point diagonal down pattern

EYEVEC_CALIBRATION_TYPE_3_HOR

3-point horizontal pattern

EYEVEC_CALIBRATION_TYPE_3_VER

3-point vertical pattern

EYEVEC_CALIBRATION_TYPE_3_SLOPE_UP

3-point diagonal up pattern

EYEVEC_CALIBRATION_TYPE_3_SLOPE_DOWN

3-point diagonal down pattern

EYEVEC_CALIBRATION_TYPE_3_UP

3-point triangle up pattern

EYEVEC_CALIBRATION_TYPE_3_DOWN

3-point triangle down pattern

EYEVEC_CALIBRATION_TYPE_4_SQUARE

4-point square pattern

EYEVEC_CALIBRATION_TYPE_4_DIAMOND

4-point diamond pattern

EYEVEC_CALIBRATION_TYPE_5_SQUARE

5-point square pattern

EYEVEC_CALIBRATION_TYPE_5_DIAMOND

5-point diamond pattern

EYEVEC_CALIBRATION_TYPE_6_HOR

6-point horizontal pattern

EYEVEC_CALIBRATION_TYPE_6_VER

6-point vertical pattern

EYEVEC_CALIBRATION_TYPE_7_HOR

7-point horizontal pattern

EYEVEC_CALIBRATION_TYPE_7_VER

7-point vertical pattern

EYEVEC_CALIBRATION_TYPE_8

8-point pattern

EYEVEC_CALIBRATION_TYPE_9

9-point pattern

EYEVEC_CALIBRATION_TYPE_13

13-point pattern

EYEVEC_CALIBRATION_TYPE_17

17-point pattern

EYEVEC_CALIBRATION_TYPE_25

25-point pattern

EyeVecPolynomialType

Enumeration of polynomial types for mapping eye vector to gaze coordinate.

typedef enum _EyeVecPolynomialType {
    EYEVEC_POLYNOMIAL_NONE,
    EYEVEC_POLYNOMIAL_1002,
    EYEVEC_POLYNOMIAL_2003,
    EYEVEC_POLYNOMIAL_1103,
    EYEVEC_POLYNOMIAL_2104,
    EYEVEC_POLYNOMIAL_2205,
    EYEVEC_POLYNOMIAL_1013,
    EYEVEC_POLYNOMIAL_2014,
    EYEVEC_POLYNOMIAL_1114,
    EYEVEC_POLYNOMIAL_2115,
    EYEVEC_POLYNOMIAL_2216
} EyeVecPolynomialType;
Constant Description

EYEVEC_POLYNOMIAL_NONE

None

EYEVEC_POLYNOMIAL_1002

1st order x, 2 coefficients

EYEVEC_POLYNOMIAL_2003

2nd order x, 3 coefficients

EYEVEC_POLYNOMIAL_1103

1st order x, 1st order y, 3 coefficients

EYEVEC_POLYNOMIAL_2104

2nd order x, 1st order y, 4 coefficients

EYEVEC_POLYNOMIAL_2205

2nd order x, 2nd order y, 5 coefficients

EYEVEC_POLYNOMIAL_1013

1st order x, with xy, 3 coefficients

EYEVEC_POLYNOMIAL_2014

2nd order x, with xy, 4 coefficients

EYEVEC_POLYNOMIAL_1114

1st order x, 1st order y, with xy, 4 coefficients

EYEVEC_POLYNOMIAL_2115

2nd order x, 1st order y, with xy, 5 coefficients

EYEVEC_POLYNOMIAL_2216

2nd order x, 2nd order y, with xy, 6 coefficients

The above descriptions are for mapping in x-direction. For mapping in y-direction swap x and y in the descriptions.

EyeVecTargetId

Enumeration of standard target IDs identifying 25 positions.

typedef enum _EyeVecTargetId {
    EYEVEC_TARGET_ID_NONE,
    EYEVEC_TARGET_ID_11,
    EYEVEC_TARGET_ID_21,
    EYEVEC_TARGET_ID_31,
    EYEVEC_TARGET_ID_41,
    EYEVEC_TARGET_ID_51,
    EYEVEC_TARGET_ID_12,
    EYEVEC_TARGET_ID_22,
    EYEVEC_TARGET_ID_32,
    EYEVEC_TARGET_ID_42,
    EYEVEC_TARGET_ID_52,
    EYEVEC_TARGET_ID_13,
    EYEVEC_TARGET_ID_23,
    EYEVEC_TARGET_ID_33,
    EYEVEC_TARGET_ID_43,
    EYEVEC_TARGET_ID_53,
    EYEVEC_TARGET_ID_14,
    EYEVEC_TARGET_ID_24,
    EYEVEC_TARGET_ID_34,
    EYEVEC_TARGET_ID_44,
    EYEVEC_TARGET_ID_54,
    EYEVEC_TARGET_ID_15,
    EYEVEC_TARGET_ID_25,
    EYEVEC_TARGET_ID_35,
    EYEVEC_TARGET_ID_45,
    EYEVEC_TARGET_ID_55,
    EYEVEC_TARGET_ID_OTHER
} EyeVecTargetId;
Constant Description

EYEVEC_TARGET_ID_NONE

None

EYEVEC_TARGET_ID_11

Column 1, row 1

EYEVEC_TARGET_ID_21

Column 2, row 1

EYEVEC_TARGET_ID_31

Column 3, row 1

EYEVEC_TARGET_ID_41

Column 4, row 1

EYEVEC_TARGET_ID_51

Column 5, row 1

EYEVEC_TARGET_ID_12

Column 1, row 2

EYEVEC_TARGET_ID_22

Column 2, row 2

EYEVEC_TARGET_ID_32

Column 3, row 2

EYEVEC_TARGET_ID_42

Column 4, row 2

EYEVEC_TARGET_ID_52

Column 5, row 2

EYEVEC_TARGET_ID_13

Column 1, row 3

EYEVEC_TARGET_ID_23

Column 2, row 3

EYEVEC_TARGET_ID_33

Column 3, row 3

EYEVEC_TARGET_ID_43

Column 4, row 3

EYEVEC_TARGET_ID_53

Column 5, row 3

EYEVEC_TARGET_ID_14

Column 1, row 4

EYEVEC_TARGET_ID_24

Column 2, row 4

EYEVEC_TARGET_ID_34

Column 3, row 4

EYEVEC_TARGET_ID_44

Column 4, row 4

EYEVEC_TARGET_ID_54

Column 5, row 4

EYEVEC_TARGET_ID_15

Column 1, row 5

EYEVEC_TARGET_ID_25

Column 2, row 5

EYEVEC_TARGET_ID_35

Column 3, row 5

EYEVEC_TARGET_ID_45

Column 4, row 5

EYEVEC_TARGET_ID_55

Column 5, row 5

EYEVEC_TARGET_ID_OTHER

Start value for IDs above EYEVEC_TARGET_ID_55

EyeVecTargetPhase

Enumeration of target phases.

typedef enum _EyeVecTargetPhase {
    EYEVEC_TARGET_PHASE_IDLE,
    EYEVEC_TARGET_PHASE_FADE_IN,
    EYEVEC_TARGET_PHASE_ATTENTION,
    EYEVEC_TARGET_PHASE_SCALE_DOWN,
    EYEVEC_TARGET_PHASE_FINAL,
    EYEVEC_TARGET_PHASE_DONE
} EyeVecTargetPhase;
Constant Description

EYEVEC_TARGET_PHASE_IDLE

No target visible

EYEVEC_TARGET_PHASE_FADE_IN

Atttention target fading in

EYEVEC_TARGET_PHASE_ATTENTION

Atttention target steady

EYEVEC_TARGET_PHASE_SCALE_DOWN

Scaling down target to final size

EYEVEC_TARGET_PHASE_FINAL

Final target steady

EYEVEC_TARGET_PHASE_DONE

Target presention done

EyeVecGazeEstimationMethod

Enumeration of gaze estimation methods.

typedef enum _EyeVecGazeEstimationMethod {
    EYEVEC_GAZE_EST_NONE,
    EYEVEC_GAZE_EST_PUPIL_CR,
    EYEVEC_GAZE_EST_PUPIL_ONLY,
    EYEVEC_GAZE_EST_CR_ONLY
} EyeVecGazeEstimationMethod;
Constant Description

EYEVEC_GAZE_EST_NONE

Don’t estimate gaze

EYEVEC_GAZE_EST_PUPIL_CR

Estimate gaze from pupil-CR vector

EYEVEC_GAZE_EST_PUPIL_ONLY

Estimate gaze from pupil only

EYEVEC_GAZE_EST_CR_ONLY

Estimate gaze from CR only

EyeVecBiologicalSex

Enumeration of biological sex.

typedef enum _EyeVecBiologicalSex {
    EYEVEC_BIO_SEX_UNSPECIFIED,
    EYEVEC_BIO_SEX_MALE,
    EYEVEC_BIO_SEX_FEMALE
} EyeVecBiologicalSex;
Constant Description

EYEVEC_BIO_SEX_UNSPECIFIED

Sex unspecified

EYEVEC_BIO_SEX_MALE

Male

EYEVEC_BIO_SEX_FEMALE

Female

EyeVecEyelashDir

Enumeration of eyelash directions.

typedef enum _EyeVecEyelashDir {
    EYEVEC_EYELASH_DIR_UPWARDS,
    EYEVEC_EYELASH_DIR_STRAIGHT,
    EYEVEC_EYELASH_DIR_DOWNWARDS
} EyeVecEyelashDir;
Constant Description

EYEVEC_EYELASH_DIR_UPWARDS

Upwards pointing eyelashes

EYEVEC_EYELASH_DIR_STRAIGHT

Forward pointing eyelashes

EYEVEC_EYELASH_DIR_DOWNWARDS

Downwards pointing eyelashes

EyeVecVisualAids

Enumeration of visual aids.

typedef enum _EyeVecVisualAids {
    EYEVEC_VISUAL_AIDS_NONE,
    EYEVEC_VISUAL_AIDS_SPECTACLES,
    EYEVEC_VISUAL_AIDS_LENSES
} EyeVecVisualAids;
Constant Description

EYEVEC_VISUAL_AIDS_NONE

No visual aids

EYEVEC_VISUAL_AIDS_SPECTACLES

Participant is wearing spectacles

EYEVEC_VISUAL_AIDS_LENSES

Participant is wearing contact lenses

EyeVecIrisOcclusion

Ordinal enumeration of iris occlusion levels.

typedef enum _EyeVecIrisOcclusion {
    EYEVEC_IRIS_OCCLUSION_NONE,
    EYEVEC_IRIS_OCCLUSION_MILD,
    EYEVEC_IRIS_OCCLUSION_MODERATE,
    EYEVEC_IRIS_OCCLUSION_SEVERE
} EyeVecIrisOcclusion;
Constant Description

EYEVEC_IRIS_OCCLUSION_NONE

Iris (almost) fully visible, pupil visible, corneal reflection visible

EYEVEC_IRIS_OCCLUSION_MILD

Top and/or bottom iris edge slightly occluded by eyelid, pupil visible, corneal reflection visible

EYEVEC_IRIS_OCCLUSION_MODERATE

Iris partly occluded due to droopy eyelid and/or sagged skin fold or somewhat narrow vertical palpebral aperture, pupil (partly) visible, corneal reflection not always visible

EYEVEC_IRIS_OCCLUSION_SEVERE

Iris severely occluded due to narrow vertical palpebral aperture or eyelid condition, pupil partly visible, corneal reflection not visible

EyeVecEyeState

Enumeration of eye detection states. See EyeVecEye, EyeVecEyeFull.

typedef enum _EyeVecEyeState {
    EYEVEC_EYE_STATE_NONE,
    EYEVEC_EYE_STATE_LOST,
    EYEVEC_EYE_STATE_DETECTED,
    EYEVEC_EYE_STATE_OPENING,
    EYEVEC_EYE_STATE_STEADY,
    EYEVEC_EYE_STATE_CLOSING
} EyeVecEyeState;
Constant Description

EYEVEC_EYE_STATE_NONE

No eye detected

EYEVEC_EYE_STATE_LOST

No eye detected, recently lost

EYEVEC_EYE_STATE_DETECTED

Eye detected but not yet considered stable

EYEVEC_EYE_STATE_OPENING

Eye detected, visible (pupil) area growing

EYEVEC_EYE_STATE_STEADY

Eye detected, visible (pupil) area steady

EYEVEC_EYE_STATE_CLOSING

Eye detected, visible (pupil) area shrinking

EyeVecEyeStatus

Ordinal enumeration of individual eye component detection statuses. See EyeVecPupil, EyeVecCR, EyeVecIris, EyeVecGaze.

typedef enum _EyeVecEyeStatus {
    EYEVEC_EYE_STATUS_SKIPPED = -3,
    EYEVEC_EYE_STATUS_REJECTED = -2,
    EYEVEC_EYE_STATUS_FAILED = -1,
    EYEVEC_EYE_STATUS_IDLE = 0,
    EYEVEC_EYE_STATUS_DETECTED = 1,
    EYEVEC_EYE_STATUS_UNCERTAIN = 2
} EyeVecEyeStatus;
Constant Description

EYEVEC_EYE_STATUS_SKIPPED

Detection skipped as per settings

EYEVEC_EYE_STATUS_REJECTED

Detection result rejected

EYEVEC_EYE_STATUS_FAILED

Detection not succesful

EYEVEC_EYE_STATUS_IDLE

No detection performed

EYEVEC_EYE_STATUS_DETECTED

Detection succesful

EYEVEC_EYE_STATUS_UNCERTAIN

Detection succesful, position uncertain

EyeVecEyeSide

Ordinal enumeration of eye sides.

typedef enum _EyeVecEyeSide {
    EYEVEC_RIGHT_EYE = 0,
    EYEVEC_LEFT_EYE = 1
} EyeVecEyeSide;

enum {
    EYEVEC_MEAN_EYE = EYEVEC_LEFT_EYE + 1
};
Constant Description

EYEVEC_RIGHT_EYE

Right eye index

EYEVEC_LEFT_EYE

Left eye index

EYEVEC_MEAN_EYE

Mean eye index

EyeVecEyeBoxState

Enumeration of eyebox states. See EyeVecEyeBox.

typedef enum _EyeVecEyeBoxState {
    EYEVEC_EYEBOX_STATE_NONE,
    EYEVEC_EYEBOX_STATE_GUESSED,
    EYEVEC_EYEBOX_STATE_PUPIL_BASED,
    EYEVEC_EYEBOX_STATE_CR_BASED,
    EYEVEC_EYEBOX_STATE_MARKER_BASED
} EyeVecEyeBoxState;
Constant Description

EYEVEC_EYEBOX_STATE_NONE

No eyebox geometry set

EYEVEC_EYEBOX_STATE_GUESSED

Eye box geometry not up to date

EYEVEC_EYEBOX_STATE_PUPIL_BASED

Eye box geometry set by pupil detector

EYEVEC_EYEBOX_STATE_CR_BASED

Eye box geometry set by CR detector

EYEVEC_EYEBOX_STATE_MARKER_BASED

Eye box geometry set by marker detector

EyeVecTargetStatus

Enumeration of target statuses.

typedef enum _EyeVecTargetStatus {
    EYEVEC_TARGET_STATUS_NONE,
    EYEVEC_TARGET_STATUS_SKIPPED,
    EYEVEC_TARGET_STATUS_INVALID,
    EYEVEC_TARGET_STATUS_BAD,
    EYEVEC_TARGET_STATUS_POOR,
    EYEVEC_TARGET_STATUS_FAIR,
    EYEVEC_TARGET_STATUS_GOOD
} EyeVecTargetStatus;
Constant Description

EYEVEC_TARGET_STATUS_NONE

No data available ATM

EYEVEC_TARGET_STATUS_SKIPPED

Point is marked by user to be excluded

EYEVEC_TARGET_STATUS_INVALID

Data collection failed for this point

EYEVEC_TARGET_STATUS_BAD

Gaze error for this point is classified as bad

EYEVEC_TARGET_STATUS_POOR

Gaze error for this point is classified as poor

EYEVEC_TARGET_STATUS_FAIR

Gaze error for this point is classified as fair

EYEVEC_TARGET_STATUS_GOOD

Gaze error for this point is classified as good

EyeVecDataFileContentFlags

Flags defining which optional data file content is present.

typedef enum _EyeVecDataFileContentFlags {
    EYEVEC_DATA_FILE_RIGHT = 0x0001,
    EYEVEC_DATA_FILE_LEFT = 0x0002,
    EYEVEC_DATA_FILE_MEAN = 0x0004,
    EYEVEC_DATA_FILE_PUPIL = 0x0010,
    EYEVEC_DATA_FILE_CR = 0x0020,
    EYEVEC_DATA_FILE_IRIS = 0x0040,
//    EYEVEC_DATA_FILE_CORNER = 0x0080,
    EYEVEC_DATA_FILE_GAZE = 0x0100,
    EYEVEC_DATA_FILE_HEAD = 0x0200,
    EYEVEC_DATA_FILE_BLINK = 0x1000,
    EYEVEC_DATA_FILE_SACCADE = 0x2000,
    EYEVEC_DATA_FILE_FIXATION = 0x4000
} EyeVecDataFileContentFlags;
Constant Description

EYEVEC_DATA_FILE_RIGHT

Include right data

EYEVEC_DATA_FILE_LEFT

Include left data

EYEVEC_DATA_FILE_MEAN

Include mean data for blink, saccade, and fixation events; for eye samples this means EYEVEC_DATA_FILE_RIGHT | EYEVEC_DATA_FILE_LEFT

EYEVEC_DATA_FILE_PUPIL

Include pupil data

EYEVEC_DATA_FILE_CR

Include corneal reflection data

EYEVEC_DATA_FILE_IRIS

Include iris data

EYEVEC_DATA_FILE_GAZE

Include gaze data

EYEVEC_DATA_FILE_HEAD

Include head data

EYEVEC_DATA_FILE_BLINK

Include blink data

EYEVEC_DATA_FILE_SACCADE

Include saccade data

EYEVEC_DATA_FILE_FIXATION

Include fixation data

EyeVecImageRequestFlags

Flags (or-able) to be specified when requesting images to be send with display data.

typedef enum _EyeVecImageRequestFlags {
    EYEVEC_IMAGE_RIGHT_EYE  = 1 << 0,
    EYEVEC_IMAGE_LEFT_EYE   = 1 << 1,
    EYEVEC_IMAGE_THUMBNAIL  = 1 << 2,
    EYEVEC_IMAGE_MAIN       = 1 << 3,
    EYEVEC_IMAGE_ALL        = EYEVEC_IMAGE_RIGHT_EYE
                            | EYEVEC_IMAGE_LEFT_EYE
                            | EYEVEC_IMAGE_THUMBNAIL
                            | EYEVEC_IMAGE_MAIN
} EyeVecImageRequestFlags;
Constant Description

EYEVEC_IMAGE_RIGHT_EYE

Requesting right eye image

EYEVEC_IMAGE_LEFT_EYE

Requesting left eye image

EYEVEC_IMAGE_THUMBNAIL

Requesting thumbnail image

EYEVEC_IMAGE_MAIN

Requesting main image

EYEVEC_IMAGE_ALL

Requesting all images

EyeVecEnableSendSaveFlags

Flags (or-able) to be passed to eyevec_set_gaze_events_enabled() and eyevec_set_gaze_events_enabled() to control whether and when to send and/or save eye sample records resp. gaze event records.

typedef enum _EyeVecEnableSendSaveFlags {
    EYEVEC_ENABLE_NONE = 0,
    EYEVEC_ENABLE_SEND_WHILE_IN_RECORDING_MODE = 0x01,
    EYEVEC_ENABLE_SEND_WHILE_IN_DATA_MODE = 0x02,
    EYEVEC_ENABLE_SAVE_WHILE_IN_RECORDING_MODE = 0x04,
    EYEVEC_ENABLE_SAVE_WHILE_IN_DATA_MODE = 0x08,
    EYEVEC_ENABLE_WHILE_IN_RECORDING_MODE =
        EYEVEC_ENABLE_SEND_WHILE_IN_RECORDING_MODE |
        EYEVEC_ENABLE_SAVE_WHILE_IN_RECORDING_MODE,
    EYEVEC_ENABLE_WHILE_IN_DATA_MODE =
        EYEVEC_ENABLE_SEND_WHILE_IN_DATA_MODE |
        EYEVEC_ENABLE_SAVE_WHILE_IN_DATA_MODE,
} EyeVecEnableSendSaveFlags;
Constant Description

EYEVEC_ENABLE_NONE

Don’t send or save records

EYEVEC_ENABLE_SEND_WHILE_IN_RECORDING_MODE

Send record provided tracker mode is EYEVEC_TRACKER_MODE_RECORDING

EYEVEC_ENABLE_SEND_WHILE_IN_DATA_MODE

Send record provided tracker mode is EYEVEC_TRACKER_MODE_DATA or above

EYEVEC_ENABLE_SAVE_WHILE_IN_RECORDING_MODE

Save record to file provided tracker mode is EYEVEC_TRACKER_MODE_RECORDING

EYEVEC_ENABLE_SAVE_WHILE_IN_DATA_MODE

Save record to file provided tracker mode is EYEVEC_TRACKER_MODE_DATA or above

EYEVEC_ENABLE_WHILE_IN_RECORDING_MODE

Send and save record provided tracker mode is EYEVEC_TRACKER_MODE_RECORDING

EYEVEC_ENABLE_WHILE_IN_DATA_MODE

Send and save record provided tracker mode is EYEVEC_TRACKER_MODE_DATA or above

EyeVecFontStyle

Enumeration of text font styles.

typedef enum _EyeVecFontStyle {
    EYEVEC_STYLE_NORMAL,
    EYEVEC_STYLE_OBLIQUE,
    EYEVEC_STYLE_ITALIC
} EyeVecFontStyle;
Constant Description

EYEVEC_STYLE_NORMAL

Normal upright font style

EYEVEC_STYLE_OBLIQUE

Oblique (slightly slanted) font style

EYEVEC_STYLE_ITALIC

Italic font style

EyeVecFontWeight

Enumeration of text font weights.

typedef enum _EyeVecFontWeight {
    EYEVEC_WEIGHT_NORMAL = 400,
    EYEVEC_WEIGHT_BOLD = 700
} EyeVecFontWeight;
Constant Description

EYEVEC_WEIGHT_NORMAL

Normal font weight

EYEVEC_WEIGHT_BOLD

Bold font weight

EyeVecAlignment

Enumeration of text alignments.

typedef enum _EyeVecAlignment {
    EYEVEC_ALIGN_BEGIN,
    EYEVEC_ALIGN_CENTER,
    EYEVEC_ALIGN_END
} EyeVecAlignment;
Constant Description

EYEVEC_ALIGN_BEGIN

Align begin

EYEVEC_ALIGN_CENTER

Align center

EYEVEC_ALIGN_END

Align end