#pragma once #include #include #include #include "ImgUtil.h" #include "RecognitionManager.h" #include "THSActionUtil.h" struct LimitUpData { string code; string time; string price; //ÕÇ·ù string limitUpPercent; string limitMoney; MoneyUnit limitMoneyUnit; //¸¨Öú¹¦ÄÜ int index; }; //Ê×°å±¾Êý¾Ý struct FirstLimitUpCodeData { string code; string time; string price; //ÕÇ·ù string limitUpPercent; string zyltMoney; MoneyUnit zyltMoneyUnit; string volume; MoneyUnit volumeUnit; //¸¨Öú¹¦ÄÜ int index; }; struct LimitUpFinalData { std::list limitUpDatas; std::list firstLimitUpDatas; }; //ÕÇÍ£»ñÈ¡ typedef void (*CallbackFun_Limit_Up)(list codeList, void* contex); typedef void (*CallbackFun_First_Limit_Up)(list codeList, void* contex); class LimitUpCapture { private: //½»Ò×ʱ¶Îʶ±ð static bool tradeTimeCapture; static OpenCLExcuter* openCLExcuter; static bool inited; //ÊÇ·ñÕýÔÚÖ´ÐÐ static bool running; static bool kill; static CallbackFun_Limit_Up data_callback; static CallbackFun_First_Limit_Up first_data_callback; static MatOcrFun ocr_fun; static void* context; static void _run(); static HWND win; static HWND menuWin; //ÕÇÍ£µã static cv::Point limitUpPoint; //Ê×°å´úÂë static cv::Point firstCodePoint; public: //ÉèÖý»Ò×ʱ¼ä½ØÍ¼ÉÏ´«Êý¾Ý static void setTradeTimeCapture(bool enable) { tradeTimeCapture = enable; } //ÊÇ·ñÔÝÍ£ static bool pause; void init(CallbackFun_Limit_Up callback, CallbackFun_First_Limit_Up first_callback, MatOcrFun matMcrFun, void* context); //ÖØÐ´´½¨ÔËÐÐÏß³Ì void reCreateRunning(); void refreshHWND(); bool isRunning(); //ÕÇͣʶ±ð static list captureLimitUpCodes(cv::Mat img); //Ê×°åʶ±ð static list captureLimitUpFirstCodes(cv::Mat img); static LimitUpFinalData captureLimitUpCodes(); //È«²¿¿ªÊ¼ void start(); //È«²¿½áÊø void stop(); bool isInited(); };