#include <stdio.h>
#include <inttypes.h>
#include <interaction_lib/interaction_lib_c.h>
void gaze_point_data_callback(IL_GazePointData evt, void* context)
{
printf("x: %f, y: %f, validity: %s, timestamp: %" PRId64 " us\n",
evt.x,
evt.y,
evt.validity == IL_Validity_Valid ? "valid" : "invalid",
evt.timestamp_us);
}
int main(int argc, char* argv[])
{
IL_Context* intlib = NULL;
IL_CreateInteractionLib(&intlib, IL_FieldOfUse_Interactive);
const float width = 2560.0f;
const float height = 1440.0f;
const float offset = 0.0f;
IL_CoordinateTransformAddOrUpdateDisplayArea(intlib, width, height, 0, 0, 0, 0, NULL);
IL_CoordinateTransformSetOriginOffset(intlib, offset, offset);
IL_SubscribeGazePointData(intlib, gaze_point_data_callback, NULL);
printf("Starting interaction library update loop.\n");
const size_t max_cycles = 200;
size_t cycle = 0;
while (cycle++ < max_cycles)
{
IL_WaitAndUpdate(intlib, 1000);
}
IL_DestroyInteractionLib(intlib);
return 0;
}