#pragma once #ifdef DEVICEMANAGE_EXPORTS #define DEVICEMANAGE_API_ROI_C(type) extern "C" _declspec(dllexport) type _stdcall #else #define DEVICEMANAGE_API_ROI_C(type) extern "C" _declspec(dllexport) type _stdcall #endif #pragma pack(push,1) struct OneRoiDetailInfo { int left; int right; unsigned char reserve[8]; void SetTop(int top) { int *t = (int*)reserve; *t = top; } void SetBottom(int bot) { int *t = (int*)(reserve + 4); *t = bot; } int GetTop() { int *t = (int*)reserve; return *t; } int GetBottom() { int *t = (int*)(reserve + 4); return *t; } }; enum eROICalcDataType { eOrgSprt, eCoinSprt, eAntiSprt, e2DMapSprt, e2DMapMainCmbSubCmb, e2DMapMainMulSubCmb, }; struct OneRoiDatalInfo { int version; eROICalcDataType dataType; __int64 i64TotalCount; double dcps; unsigned char reserve[32]; }; struct OneChannelROIInfo { int head; int version; int iTotalNum; unsigned char reserve[32]; }; #pragma pack(pop) #ifdef __cplusplus extern "C" { #endif DEVICEMANAGE_API_ROI_C(int) DBCAddROI(int *pHandle, int bdidx, int chidx, OneRoiDetailInfo *proi); DEVICEMANAGE_API_ROI_C(int) DBCRemoveROI(int *pHandle, int bdidx, int chidx, OneRoiDetailInfo *proi); DEVICEMANAGE_API_ROI_C(int) DBCRemoveAllROI(int *pHandle, int bdidx, int chidx); DEVICEMANAGE_API_ROI_C(int) DBCGetROIDataInfo(void * pHandle, int bdidx, int chidx, OneRoiDetailInfo *proi, OneRoiDatalInfo *pdata); DEVICEMANAGE_API_ROI_C(int) DBCSaveROIDataInfoToFile(void * pHandle, int bdidx, int chidx, OneRoiDetailInfo *proi, OneRoiDatalInfo *pdata, char *pDir); DEVICEMANAGE_API_ROI_C(int) DBCGetROIInfo(int *pHandle, int bdidx, int chidx, OneChannelROIInfo *pinfo); DEVICEMANAGE_API_ROI_C(int) DBCGetROIDetailInfo(int *pHandle, int bdidx, int chidx, int roiidx, OneRoiDetailInfo *pdetail); DEVICEMANAGE_API_ROI_C(int) DBCSaveROIToFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg); DEVICEMANAGE_API_ROI_C(int) DBCReadROIFromFile(int *pHandle, int bdidx, int chidx, const char *path, char *ErrMsg); #ifdef __cplusplus } #endif