>
[Back to the SDK Overview]
#include <iostream>
#include <interaction_lib/InteractionLib.h>
#include <interaction_lib/misc/InteractionLibPtr.h>
int main()
{
IL::UniqueInteractionLibPtr intlib(IL::CreateInteractionLib(IL::FieldOfUse::Interactive));
constexpr float width = 2560.0f;
constexpr float height = 1440.0f;
constexpr float offset = 0.0f;
intlib->CoordinateTransformAddOrUpdateDisplayArea(width, height);
intlib->CoordinateTransformSetOriginOffset(offset, offset);
intlib->SubscribeGazePointData([](IL::GazePointData evt, void* context)
{
std::cout
<< "x: " << evt.x
<< ", y: " << evt.y
<< ", validity: " << (evt.validity == IL::Validity::Valid ? "valid" : "invalid")
<< ", timestamp: " << evt.timestamp_us << " us"
<< "\n";
}, nullptr);
std::cout << "Starting interaction library update loop.\n";
constexpr size_t max_cycles = 200;
size_t cycle = 0;
while (cycle++ < max_cycles)
{
intlib->WaitAndUpdate();
}
}