#pragma once
#include <Windows.h>
#include <tchar.h>
#include "myOpenCV.h"
#include <vector>
#include "BaseProcess.h"
class ECTrainerGUI : public BaseProcess
{
private:
const cv::String WIN_DISP = "ECTrainer Display";
const cv::String WIN_MAIN = "Eye Contact Trainer";
const cv::Size MAIN_FRAME_SIZE = cv::Size(1480, 620);
const int IMAGE_WIDTH = 640;
const cv::Point SCENE_BUFFER_POS = cv::Point(170, 120);
const cv::Point DISP_IMAGE_POS = cv::Point(820, 120);
const int KEY_ESC = 27;
std::vector<RECT> _Displays;
cv::Mat _MainFrame; // メインウインドウフレーム
cv::Mat _DispImage; // 刺激画像
cv::Mat _DispBuffer; // 刺激画面
cv::Mat _SceneBuffer; // 視野画像
cv::Mat _Logo; // ロゴ
int _SceneBufferHeight;
int _DispImageHeight;
void GetDisplayInfo();
static BOOL CALLBACK MonitorEnumProc(HMONITOR hMon, HDC hdcMon, LPRECT lpMon, LPARAM dwDate);
public:
ECTrainerGUI(ECTrainer* pEct);
bool Init();
bool MainLoop();
void SetSceneBuffer(cv::Mat &img);
void SetDispBuffer(cv::Mat& img);
};