197 lines
5.5 KiB
C++
197 lines
5.5 KiB
C++
#ifndef PUBLICFUNC_H_
|
||
#define PUBLICFUNC_H_
|
||
|
||
#include "stdafx.h"
|
||
#include <string>
|
||
|
||
//#include "UI_INI.h"
|
||
//#include "DirectshowCaptureVideo.h"
|
||
//#include "DirectshowCaptureVideoUvc.h"
|
||
using namespace std;
|
||
|
||
/************************************
|
||
**扫描参数,json格式保存参数名称**
|
||
*************************************/
|
||
#define PIXTYPE "iPixType"
|
||
#define PAPARSIZE "iPaparSize"
|
||
#define AUTOCROP "bAuotCrop"
|
||
#define RESOLUTION "iResolution"
|
||
#define DUPLEX "iDuplex"
|
||
#define DISCARBLANK "bDiscardBlank"
|
||
#define DISCARBLANKVINCE "bDiscardBlankVince"
|
||
#define FLOD "bFlod"
|
||
#define BRIGHTNESS "iBrightness"
|
||
#define AUTOCONTRAST "bAutoContrast"
|
||
#define CONTRAST "iContrast"
|
||
#define GAMMA "dGamma"
|
||
#define FILTERTYPE "iFilter"
|
||
#define FILLBLACK "bFillBlcak"
|
||
#define AUTODESCREW "bAutoDescrew"
|
||
#define ULTRADETECT "bUltrasonicDetect"
|
||
#define BINDINGDETECT "bBindingDetect"
|
||
#define SCANCOUNT "ScanCount"
|
||
#define DOCORIENTATION "bOrientation"
|
||
#define BACKROTATE180 "iBackRotate180"
|
||
#define SCREWDETECT "bScrewDetect"
|
||
#define SCREWLEVEL "iScrewLevel"
|
||
#define ITEMCAPTION "Caption"
|
||
#define SAVEPATH "SavePath"
|
||
#define OUTHOLE "bOutHole"
|
||
#define OUTHOLERATIO "iOutHoleRatio"
|
||
|
||
/******************
|
||
**参数保存结构体**
|
||
*******************/
|
||
struct tagCONFIGPARAMS
|
||
{
|
||
/*基本选项卡参数*/
|
||
INT Pixtype;
|
||
INT PaperSize;
|
||
BOOL EnAutoCrop;
|
||
INT Resolution;
|
||
INT Duplex;
|
||
BOOL EnDiscardBlank;
|
||
BOOL EnDiscardBlankVince;
|
||
BOOL EnFlod;
|
||
/*亮度对比度选项卡参数*/
|
||
INT Brightness;
|
||
BOOL EnAutoContrast;
|
||
INT Contrast;
|
||
INT Gamma;
|
||
|
||
/*图像处理选项卡参数*/
|
||
INT Filter;
|
||
BOOL EnFillBlack;
|
||
BOOL EnAutoDescrew;
|
||
BOOL EnOutHole;
|
||
INT OutHoleRatio;
|
||
BOOL EnMultiOutPutR;
|
||
|
||
/*送纸部分选项卡参数*/
|
||
BOOL EnUltrasonicDetect;
|
||
BOOL EnBindingDetect;
|
||
INT ScanCount;
|
||
INT Orentation;
|
||
BOOL EnBackRotate180;
|
||
BOOL EnScrewDetect;
|
||
INT ScrewDetectLevel;
|
||
|
||
/*保存信息*/
|
||
std::string Caption;
|
||
std::string SavePath;
|
||
};
|
||
|
||
typedef tagCONFIGPARAMS CONFIGPARAMS,*PCONFIGPARAMS;
|
||
|
||
struct tagCONFIGINFO
|
||
{
|
||
std::string Caption;
|
||
std::string SavePath;
|
||
};
|
||
|
||
typedef struct tagCONFIGINFO CONFIGINFO,*PCONFIGINFO;
|
||
|
||
struct tagOutHole
|
||
{
|
||
BOOL EnOutHole;
|
||
INT OutHoleRatio;
|
||
};
|
||
|
||
typedef tagOutHole OutHole,*pOutHole;
|
||
|
||
#define CAPTION_LEN 256
|
||
#define TWAIN_IMAGE_FILE_LIST_NAME TEXT(".dat")
|
||
|
||
#ifndef malloc_my
|
||
#define malloc_my malloc
|
||
#endif
|
||
|
||
typedef struct tagTWAIN_IMAGE_FILE_LIST
|
||
{
|
||
INT n_item;//
|
||
TCHAR sz_path[MAX_PATH];
|
||
DWORD dw_color_bit;
|
||
DWORD dw_width;
|
||
DWORD dw_height;
|
||
DWORD dw_dpi;
|
||
DWORD dw_image_size;
|
||
BOOL b_del_flg;//文件时是否删除, 传送一个删除一个
|
||
}TWAIN_IMAGE_FILE_LIST,FAR*PTWAIN_IMAGE_FILE_LIST;
|
||
|
||
|
||
typedef struct tagTWAIN_IMAGE_DATA_INFO
|
||
{
|
||
BOOL b_lock_flg;//是否在使用中
|
||
//BOOL b_flg;
|
||
TCHAR sz_path_dir[MAX_PATH];//文件目录
|
||
//IMAGE_BMP_INFO st_bmp_info;//图像信息
|
||
PTWAIN_IMAGE_FILE_LIST p_wifl;
|
||
INT n_wifl_count;//内存大小
|
||
INT n_wifl_cur_count;//当前使用内存个数
|
||
INT n_wifl_cur_pos;//当前传送内存位置
|
||
|
||
}TWAIN_IMAGE_DATA_INFO, FAR*PTWAIN_IMAGE_DATA_INFO;
|
||
|
||
DWORD ReadTwianImageData(TCHAR *p_file_path);
|
||
BOOL WriteTwianImageData(TCHAR *p_file_path, PBYTE p_data, DWORD dw_size);
|
||
BOOL MallocTwainFileListMem();
|
||
VOID FreeTwainFileListMem();
|
||
|
||
//取得用户自定义目录,参数 窗口句柄,当前目录, 显示在浏览对话框上的字符串
|
||
TCHAR* GetUserCustomFilePath(HWND hWin, LPSTR lpFilePath, TCHAR *lp_head_text = NULL);
|
||
//取得当前模块的文件路径, 参数,模块实列举并, 文件路径, 字符串的长度
|
||
TCHAR* GetCurExeFilePath(HINSTANCE hInstance, TCHAR* lpPath, DWORD dwSize);
|
||
//取得路径中已经存在的路径,并返回
|
||
TCHAR* GetExistFileDir(TCHAR* p_file_path);
|
||
//回调函数,取得用户自定义的文件路径
|
||
DWORD CALLBACK BrowserCallbackProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) ;
|
||
|
||
std::string UtfToString(std::string strValue);
|
||
|
||
std::string StringToUtf(std::string strValue);
|
||
//检查,创建文件夹, 参数 文件路径, = 真,创建p_file_path不寻在文件路径
|
||
BOOL CheckAndCreateFileDir(TCHAR* p_file_path, BOOL flg);
|
||
|
||
BOOL CheckDiskFreeBitM(HWND hWin, TCHAR *p_disk_name, DWORD dw_min_bit_m);
|
||
HBITMAP SetButtonStaticBkBmp(HINSTANCE hInst, HWND hWin, UINT id, UINT iamge_id);
|
||
DWORD MyMessageBox(TCHAR *p_str, TCHAR *p_str2, DWORD dw_id);
|
||
|
||
|
||
extern TWAIN_IMAGE_DATA_INFO g_st_twain_bmp_info;
|
||
|
||
//extern CDirectshowCaptureVideo g_dc_video;
|
||
extern BOOL g_b_show_ui_flg;
|
||
|
||
//extern WATER_PRO g_st_water_pro;
|
||
extern BOOL g_add_water_flg;
|
||
extern DWORD g_dw_white_bright_count;
|
||
|
||
//extern CDirectshowCaptureVideoUvc g_dc_uvc_video;
|
||
extern BOOL g_b_use_uvc_dev ;
|
||
extern BOOL g_b_brigth_show_flg;
|
||
|
||
extern HWND g_hwnd_dlg;
|
||
|
||
//extern CSysMutex g_sys_mutex;
|
||
|
||
typedef enum tagSYS_MUTEX_TYPE
|
||
{
|
||
SYSMUTEX_APP_RUN_TYPE,// ok
|
||
SYSMUTEX_TWAIN_RUN_TYPE,
|
||
SYSMUTEX_APP_SCANNER_RUN_TYPE,
|
||
SYSMUTEX_TWAIN_SCANNER_RUN_TYPE
|
||
}SYS_MUTEX_TYPE, FAR* PSYS_MUTEX_TYPE;
|
||
|
||
BOOL g_InitSysMutexRun();
|
||
BOOL g_InitSysMutexScanRun(DWORD dwPid, DWORD dwUid);
|
||
BOOL g_CloseSysMutexRun();
|
||
BOOL g_CloseOneSysMutexRun();
|
||
BOOL g_CreateSysMutex();
|
||
BOOL g_CheckSysMutex();
|
||
float GetContrast(int level);
|
||
VOID XdPrint(_TCHAR* format, ...);
|
||
extern BOOL g_not_user_sineng_dev;
|
||
extern RGBQUAD g_default_map[256];
|
||
|
||
BOOL ReadDefaultMap();
|
||
#endif |