Files
TobiiEyetracking/Source/TobiiCore/Private/TobiiPlatformSpecific.h

39 lines
1.2 KiB
C++

/******************************************************************************
* Copyright 2017- Tobii Technology AB. All rights reserved.
*
* @author Temaran | Fredrik Lindh | fredrik.lindh@tobii.com | https://github.com/Temaran
******************************************************************************/
#pragma once
#include "CoreMinimal.h"
class FTobiiPlatformSpecific
{
public:
static void* GetMonitorInformation(const void* GameWindowHandle, int& MonitorWidthPx, int& MonitorHeightPx);
static void* MonitorHandleFromDeviceName(FString DeviceName);
static bool ConvertGazeCoordinateToVirtualDesktopPixel(void* GameWindowHandle, const FVector2D& ClientCoordsUNorm, FIntPoint& OutVirtualDesktopPixel);
};
#if PLATFORM_WINDOWS
#include "Windows/WindowsApplication.h"
#include "HAL/ThreadSafeBool.h"
class FTobiiPlatformNotifications : public IWindowsMessageHandler
{
public:
FTobiiPlatformNotifications();
virtual ~FTobiiPlatformNotifications();
virtual bool ProcessMessage(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam, int32& OutResult) override;
public:
FThreadSafeBool bShouldForceEyetrackerReconnect;
FThreadSafeBool bShouldUpdateGameMonitorHandle;
};
#elif PLATFORM_MAC
#else
#endif