The Tobii EyeX SDK for C/C++ version 0.20 is an updated package for Tobii EyeX Engine Developer Preview 0.8.11:

  • Client libraries updated with some breaking API changes (see below).
  • All samples are updated to the new client libraries.
  • MinimalFixationDataStream sample now works as expected.
  • MinimalStatusNotifications sample now also displays presence data.
  • The Developer’s Guide is updated.

EyeX Engine API Changes:

  • New helper functions to add behaviors on interactors: txSetGazeAwareBehavior, txSetGazePointDataBehavior and txSetFixationDataBehavior.
  • API functions which use the context now expects new handle type TX_CONTEXTHANDLE.
  • API functions which use properties now expects new handle type TX_PROPERTYHANDLE.
  • txUnregisterMessageHandler may no longer be called on callback threads.
  • New API function txShutdownContext shuts down the context and reports leaking objects.
  • Existing API function txReleaseContext now only takes a pointer to the context handle.
  • New result code TX_RESULT_SHUTTINGDOWN can be returned by txCommitSnapshotAsync and txExecuteCommandAsync if called during shut down of the context.
  • C API and C++ binding now has correct use of const on parameters.
  • C API now has runtime type checks on handles which causes TX_RESULT_INVALIDARGUMENT if a handle is invalid.
  • Some C++ methods now uses const references instead of pointers.
  • txGetIsSystemInitialized is renamed to txIsSystemInitialized.
  • All settings commands have changed name to state (txGetState etc.)
  • TrackingStatus and ActionData behaviors have been removed. Use the corresponding call to GetStateAsync instead.
  • txSetState now requires a state bag instead of a property bag and path.
  • The callback signature for asynchronous operations such as txGetStateAsync, txSetStateAsync, txCommitSnapshotAsync, txExecuteCommandAsync has been changed. All asynchronous operations of a request-reply nature now has a unified signature.
  • API functions used to retrieve arrays or strings now returns TX_RESULT_OK when used only to get the required size of the buffer, i.e. called with buffer=NULL and pSize=0. This applies to the following functions: txGetTrackedObjects, txGetObjectTypeName, txFormatObjectAsText, txGetEventInteractorId, txGetEventBehaviors, txGetInteractorId, txGetInteractorParentId, txGetInteractorWindowId, txGetInteractorBehaviors, txGetInteractionMaskData, txGetProperties, txGetPropertyName, txGetPropertyValueAsString, txGetPropertyValueAsBlob, txGetQueryWindowId, txGetSnapshotWindowId, txGetInteractors, txGetStateBagPath and txGetStateValueAsString.

Get the latest version of EyeX Engine and EyeX SDK on the Downloads page.