#pragma once

#ifdef _WIN32
#include <Windows.h>
#else
#define HWND void*
#endif

class IWMR_Wrapper
{
public:
	virtual ~IWMR_Wrapper() {};

	virtual bool init(HWND hwnd) = 0;
	virtual void getTextures(unsigned int& left, unsigned int& right)const = 0;
	virtual void getPerEyeResolution(unsigned int& width, unsigned int& height) const = 0;

	//Matrices stored row-wise
	virtual void frameStartGetTracking(float(&viewL)[16], float(&viewR)[16], float(&projL)[16], float(&projR)[16]) = 0;

	virtual void submitFrameToHmd() = 0;
	virtual void setNearFarDistance(float nearZ, float farZ) = 0;
};
