using System;
namespace CSharpSample
{
class Program
{
static void Main(string[] args)
{
const float width = 2560.0f;
const float height = 1440.0f;
const float offset = 0.0f;
intlib.CoordinateTransformSetOriginOffset(offset, offset);
const ulong idA = 0;
const ulong idB = 1;
const ulong idC = 2;
const ulong idD = 3;
const float size = 500.0f;
const float z = 0.0f;
intlib.BeginInteractorUpdates();
intlib.AddOrUpdateInteractor(idA, rectA, z);
intlib.AddOrUpdateInteractor(idB, rectB, z);
intlib.AddOrUpdateInteractor(idC, rectC, z);
intlib.AddOrUpdateInteractor(idD, rectD, z);
intlib.CommitInteractorUpdates();
ulong focusId = ulong.MaxValue - 1;
uint focusCount = 0;
intlib.GazeFocusEvent += e =>
{
Console.WriteLine("Interactor: {0}, focused: {1}, timestamp: {2} us",
e.interactorId,
e.hasFocus,
e.timestamp_us);
if (e.hasFocus)
{
focusCount = focusId == e.interactorId ? focusCount + 1 : 1;
focusId = e.interactorId;
}
};
Console.WriteLine("Starting interaction library update loop.");
const uint MaxFocusCount = 3;
while (focusCount < MaxFocusCount)
{
intlib.WaitAndUpdate();
}
Console.WriteLine("Interactor {0} got focused {1} times", focusId, focusCount);
intlib.Dispose();
}
}
}