ThermalPrint.Nantian.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. #ifndef __THERMALPRINTNANTIAN_H__
  2. #define __THERMALPRINTNANTIAN_H__
  3. #include "ThermalPrintClass.h"
  4. #include "CILIX_AUX_UTILS.h"
  5. #include "DRV_ReceiptPrinter.h"
  6. #include "log4vendor.h"
  7. #include "POSSDK.h"
  8. #include <iconv.h>
  9. #include <iostream>
  10. #include <algorithm>
  11. #include <functional>
  12. #include <time.h>
  13. #include <unistd.h>
  14. #include <dlfcn.h>
  15. #include <string.h>
  16. #include <string>
  17. #include <vector>
  18. #include <math.h>
  19. #include <stdlib.h>
  20. #define THERMALPRINT_API __attribute__((visibility("default")))
  21. #define _B64_EOLN 0xF0 // ����/n
  22. #define _B64_CR 0xF1 // �س�/r
  23. #define _B64_EOF 0xF2 // ���ַ�-
  24. #define _B64_WS 0xE0 // ������߿ո�/t��space��
  25. #define _B64_ERROR 0xFF // �����ַ�
  26. #define _B64_NOT_BASE64(a) (((a)|0x13) == 0xF3)
  27. static const BYTE DATA_ASCII2BIN[128] = {
  28. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xF0,0xFF,0xFF,0xF1,0xFF,0xFF,
  29. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  30. 0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3E,0xFF,0xF2,0xFF,0x3F,
  31. 0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,
  32. 0xFF,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,
  33. 0x0F,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0xFF,0xFF,0xFF,0xFF,0xFF,
  34. 0xFF,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
  35. 0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0xFF,0xFF,0xFF,0xFF,0xFF
  36. };
  37. typedef int (*pGetBmpInfo)(char *OldBmpPath,int *picwidth,int *picheight);
  38. typedef int (*pBMP_Zoom)(char *OldBmpPath,char *NewBmpPath,float Multiple);
  39. typedef DRV_ReceiptPrinter* (*pCreate_DRV_ReceiptPrinter)();
  40. typedef void (*pDestroy_DRV_ReceiptPrinter)(DRV_ReceiptPrinter*);
  41. /************************************************************************************************************************
  42. * �����ӿ�
  43. ************************************************************************************************************************/
  44. /// ͨѶ
  45. typedef int ( *pSDKGetVersionInfo)(char *szVersionInfo, int nInfoLength, int *npInforTrueLen);
  46. typedef int ( *pEnumDeviceInfo)(int nOperationType, char *szDeviceNameBuf, int nBufLen, int *npNumber);
  47. typedef DEVICEHANDLE( *pInit)(char *szPrinterName);
  48. typedef int ( *pOpenCOMPort)(DEVICEHANDLE hDev, char *szName, int nComBaudrate, int nComDataBits, int nComStopBits, int nComParity, int nParam);
  49. typedef int ( *pOpenLPTPort)(DEVICEHANDLE hDev, char *szName);
  50. typedef int ( *pOpenUsbApiPort)(DEVICEHANDLE hDev, int nDeviceId);
  51. typedef int ( *pOpenUsbClassPort)(DEVICEHANDLE hDev, char *szName, int nIsSplitStatus);
  52. typedef int ( *pOpenNetPortByName)(DEVICEHANDLE hDev, char *szName);
  53. typedef int ( *pOpenNetPort)(DEVICEHANDLE hDev, char *szNetIP, int nPort, int nProtocalType, int nBroadcast);
  54. typedef int ( *pOpenBlueToothPortByName)(DEVICEHANDLE hDev, char *szName);
  55. typedef int ( *pOpenBlueToothPort)(DEVICEHANDLE hDev, char *szMACAddress);
  56. typedef int ( *pOpenDriverPort)(DEVICEHANDLE hDev, char *szName);
  57. typedef int ( *pClosePort)(DEVICEHANDLE hDev);
  58. typedef int ( *pSendPortData)(DEVICEHANDLE hDev, char *szData, int nDataLength, int *npReturnLen);
  59. typedef int ( *pReadPortData)(DEVICEHANDLE hDev, char *szData, int nDataLength, int *npReturnLen);
  60. typedef int ( *pSetPortTimeout)(DEVICEHANDLE hDev, int nWriteTimeout, int nReadTimeout);
  61. typedef int ( *pGetPortTimeout)(DEVICEHANDLE hDev, int *nWriteTimeout, int *nReadTimeout);
  62. /// λͼ
  63. typedef int ( *pPrintBitmap)(DEVICEHANDLE hDev, char *szFilePath, int nStartX, int nStartY, int nType);
  64. typedef int ( *pPrintBitmapByMode)(DEVICEHANDLE hDev, char *szFilePath, int nStartX, int nStartY, int nMode);
  65. typedef int ( *pPrintTrueType)(DEVICEHANDLE hDev, char *szText, int nStartX, int nStartY, char *szFontName, int nFontHeight, int nFontWidth, int nBold);
  66. typedef int ( *pDownloadRAMBitmapByFile)(DEVICEHANDLE hDev, char *szFilePath, int nImageID);
  67. typedef int ( *pPrintRAMBitmap)(DEVICEHANDLE hDev, int nImageID, int nStartX, int nStartY, int nMode);
  68. typedef int ( *pDownloadFlashBitmapByFile)(DEVICEHANDLE hDev, char *szFilePath[], int nImageCount);
  69. typedef int ( *pPrintFlashBitmap)(DEVICEHANDLE hDev, int nImageID, int nStartX, int nStartY, int nMode);
  70. /// ����
  71. typedef int ( *pPrintBarcode)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nType, int nBasicWidth, int nHeight, int nHriFontType, int nHriFontPosition, int nBytesToPrint);
  72. typedef int ( *pPrintBarcodeSimple)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nType, int nWidth, int nHeight, int nHriFontPosition);
  73. typedef int ( *pBarcodePrintQR)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nBasicWidth, int nSymbolType, int nLanguageMode, int nErrorCorrect, int nBytesToPrint);
  74. typedef int ( *pBarcodePrintPDF417)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nBasicWidth, int nHeight, int nLines, int nColumns, int nScaleH, int nScaleV, int nCorrectGrade, int nBytesToPrint);
  75. typedef int ( *pBarcodePrintPDF417Simple)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nWidth, int nHeight);
  76. typedef int ( *pBarcodePrintMaxicode)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nBytesToPrint);
  77. typedef int ( *pBarcodePrintGS1DataBar)(DEVICEHANDLE hDev, char *szDataBuffer, int nStartX, int nStartY, int nBarcodeType, int nBasicWidth, int nHeight, int nSegmentNum, int nSeparatorHeight, int nBasicHeight, int nHRI, int nAI, int nBytesToPrint);
  78. typedef int ( *pBarcodeReserveFunction)(DEVICEHANDLE hDev, int nInstructionsName, int nPara1, char *szPara2);
  79. /// �ı�
  80. typedef int ( *pFeedLine)(DEVICEHANDLE hDev);
  81. typedef int ( *pPrintTextOut)(DEVICEHANDLE hDev, char *szTextData, int nStartX, int nStartY);
  82. typedef int ( *pUniversalTextOut)(DEVICEHANDLE hDev, char *szTextData, int nStartX, int nStartY, int nWidthTimes, int nHeightTimes, int nFontType, int nFontStyle);
  83. typedef int ( *pSetTextLineHight)(DEVICEHANDLE hDev, int nLineHeight);
  84. typedef int ( *pSetTextBold)(DEVICEHANDLE hDev, int nBold);
  85. typedef int ( *pSetTextDoubleWidthAndHeight)(DEVICEHANDLE hDev, int nWidthEnable, int nHeightEnable);
  86. typedef int ( *pSetAlignmentMode)(DEVICEHANDLE hDev, int nAlignment);
  87. typedef int ( *pSetTextCharacterSpace)(DEVICEHANDLE hDev, int nLeftSpace, int nRightSpace, int nMode);
  88. typedef int ( *pSetTextMagnifyTimes)(DEVICEHANDLE hDev, int nHorMagnifyTimes, int nVerMagnifyTimes);
  89. typedef int ( *pSetTextFontType)(DEVICEHANDLE hDev, int nFontStyle);
  90. typedef int ( *pSetTextUpsideDownMode)(DEVICEHANDLE hDev, int nMode);
  91. typedef int ( *pSetTextOppositeColor)(DEVICEHANDLE hDev, int nEnable);
  92. typedef int ( *pSetTextColorEnable)(DEVICEHANDLE hDev, int nEnable);
  93. typedef int ( *pSetTextFontColor)(DEVICEHANDLE hDev, int nFontColor);
  94. typedef int ( *pSetTextUnderline)(DEVICEHANDLE hDev, int nMode);
  95. typedef int ( *pSetTextRotate)(DEVICEHANDLE hDev, int nEnable);
  96. typedef int ( *pSetTextCharsetAndCodepage)(DEVICEHANDLE hDev, int nCharSet, int nCodePage);
  97. typedef int ( *pSetTextUserDefinedCharacterEnable)(DEVICEHANDLE hDev, int nEnable);
  98. typedef int ( *pSetTextDefineUserDefinedCharacter)(DEVICEHANDLE hDev, int nStartCode, int nEndCode, int nFontType, char *szChData);
  99. typedef int ( *pSetTextUniveral)(DEVICEHANDLE hDev, int nInstructionName, int nPara1, char *szPara2);
  100. /// ��������
  101. typedef int ( *pDownloadFile)(DEVICEHANDLE hDev, char *szFilePath);
  102. typedef int ( *pPrintSetMode)(DEVICEHANDLE hDev, int nPrintMode);
  103. typedef int ( *pPageModeSetArea)(DEVICEHANDLE hDev, int nStartX, int nStartY, int nWidth, int nHeight, int nDirection);
  104. typedef int ( *pPageModePrint)(DEVICEHANDLE hDev);
  105. typedef int ( *pPageModeClearBuffer)(DEVICEHANDLE hDev);
  106. typedef int ( *pFeedLineNumber)(DEVICEHANDLE hDev, int nLineNum);
  107. typedef int ( *pCutPaper)(DEVICEHANDLE hDev, int nCutMode, int nDistance);
  108. //typedef int ( *pReset)(DEVICEHANDLE hDev);
  109. typedef int ( *pKickOutDrawer)(DEVICEHANDLE hDev, int nID, int nOnTimes, int nOffTimes);
  110. typedef int ( *pApplicationUnit)(DEVICEHANDLE hDev, int nUnit);
  111. typedef int ( *pPrintDensity)(DEVICEHANDLE hDev, int nDensity);
  112. typedef int ( *pMotionUnit)(DEVICEHANDLE hDev, int nHorizontalMU, int nVerticalMU);
  113. typedef int ( *pSelectPaperType)(DEVICEHANDLE hDev, int nPaperType);
  114. typedef int ( *pSelectPaperTypeEEP)(DEVICEHANDLE hDev, int nPaperType);
  115. typedef int ( *pBasicSetReserveFunction)(DEVICEHANDLE hDev, int nInstructionName, int nPara1, char *szPara2);
  116. /// ��ѯ
  117. typedef int ( *pRealTimeQueryStatus)(DEVICEHANDLE hDev, char *szStatus, int nDataLength, unsigned long *nRealDataLength);
  118. typedef int ( *pNonRealTimeQueryStatus)(DEVICEHANDLE hDev, char *szStatus, int nDataLength, unsigned long *nRealDataLength);
  119. typedef int ( *pAutoQueryStatus)(DEVICEHANDLE hDev, char *szStatus, int nDataLength, int nEnable, unsigned long *nRealDataLength);
  120. typedef int ( *pFirmwareVersion)(DEVICEHANDLE hDev, char *szFirmwareVersion, int nDataLength, unsigned long *nRealDataLength);
  121. typedef int ( *pSoftwareVersion)(DEVICEHANDLE hDev, char *szSoftwareVersion, int nDataLength, unsigned long *nRealDataLength);
  122. typedef int ( *pVendorInformation)(DEVICEHANDLE hDev, char *szVendorInformation, int nDataLength, unsigned long *nRealDataLength);
  123. typedef int ( *pPrinterName)(DEVICEHANDLE hDev, char *szPrinterName, int nDataLength, unsigned long *nRealDataLength);
  124. typedef int ( *pResolutionRatio)(DEVICEHANDLE hDev, char *szResolutionRatio, int nDataLength, unsigned long *nRealDataLength);
  125. typedef int ( *pHardwareSerialNumber)(DEVICEHANDLE hDev, char *szHardwareSerialNumber, int nDataLength, unsigned long *nRealDataLength);
  126. typedef int ( *pQueryReserveFunction)(DEVICEHANDLE hDev, int nInstructionsName, int nPara, char *szPara, unsigned long *nRealDataLength);
  127. /// ��־
  128. typedef int ( *pInstructionsRecord)(DEVICEHANDLE hDev, char *szFileName, char *szFilePath, int nOpen);
  129. // This class is exported from the PrintSeal.Nantian.1.1.dll
  130. class ThermalPrint : public ThermalPrintClass
  131. {
  132. public:
  133. ThermalPrint(void);
  134. ~ThermalPrint();
  135. public:
  136. //��־��¼ָ��
  137. CILIXTrace *m_trace;
  138. //����ͨ����
  139. CILIX_TTY_Op *m_com;
  140. //�豸�Ƿ����ӱ��
  141. bool m_bconnect;
  142. //���ض�̬��ɹ����
  143. bool m_bload;
  144. DRV_ReceiptPrinter *m_BY_T080;
  145. void* m_hHand;
  146. void* hLib_bmp;
  147. pCreate_DRV_ReceiptPrinter Create_DRV_ReceiptPrinter_;
  148. pDestroy_DRV_ReceiptPrinter Destroy_DRV_ReceiptPrinter_;
  149. //papertype
  150. ThermalPaperType m_papertype;
  151. //fontsize
  152. char m_fontsize_h;
  153. char m_fontsize_w;
  154. /* //��ͼƬ��dll
  155. HINSTANCE hLib ; //�ӿڿ���
  156. mImageToRamInfo ImageToRamInfo ; //ImageToRamInfo�ӿ�ָ��
  157. mImageToFlashInfo ImageToFlashInfo ; //ImageToFlashInfo�ӿ�ָ��
  158. mImageToRasterInfo ImageToRasterInfo ; //ImageToRasterInfo�ӿ�ָ��
  159. mFreeMemory FreeMemory ; //FreeMemory�ӿ�ָ��
  160. */
  161. int m_imagepos;
  162. int m_isize;
  163. int m_leftspase;
  164. int m_currentLeftSpace;
  165. //ֽ�Ŵ�С
  166. int m_papersize;
  167. bool m_afterprintbmp;
  168. int m_currentline;
  169. int m_currentmm;
  170. int m_currentallmm;
  171. public:
  172. int GetDeviceStatus(int idxFlag,char**sDevStatua);
  173. //int BASE64_Decode( const TCHAR* inputBuffer, int inputCount, BYTE* outputBuffer);
  174. //BOOL IsPathExist(const CString & csPath);
  175. int updatestatus();
  176. int m_devstatus;
  177. int m_mediastatus;
  178. string m_deverrorinfo;
  179. int SendCommand(char *SendData,int DataLen);
  180. public:
  181. //COMMON
  182. ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory);
  183. ErrorCodeEnum Reset();
  184. ErrorCodeEnum DevClose();
  185. ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo);
  186. // �򿪴�ӡ��
  187. ErrorCodeEnum DevOpen(BYTE btPort,DWORD dwBaudRate);
  188. // ��ȡ��ӡ��ʵʱ״̬
  189. ErrorCodeEnum GetDevState(ThermalState &devState);
  190. //��ʼ��ӡ��ʼ����:paperWidthһ��Ϊ80mm��57mm
  191. ErrorCodeEnum BeginPrint(ThermalPaperType eType,int paperWidth);
  192. //��ӡ����ָ���:��Ҫ�Ǵ�ӡ����ֽ�Ϳ��ƴ�ӡ���ָ���
  193. //������������Ԥ������ ��ʱ���õ�
  194. ErrorCodeEnum ControlAction(PrintAction eAction,DWORD dwValue1,DWORD dwValue2);
  195. //��ӡ����ָ�����
  196. //������������Ԥ������ ��ʱ���õ�
  197. ErrorCodeEnum SetParam(CommandType eType,DWORD dwValue1,DWORD dwValue2);
  198. //��ӡ����ָ�������Ҫ��������ض�ָ���
  199. //������������Ԥ������ ����FONT_CUSTOM_SIZE�õ���dwValue1��ʾ����dwValue2��ʾ��
  200. // ����FONT_LEFT_RIGHT_SPACE�õ� dwValue1��ʾ��߾� dwValue2��ʾ�ұ߾�
  201. ErrorCodeEnum SetFont(FontStyle eType,DWORD dwValue1,DWORD dwValue2);
  202. //��ӡ�ı����ݺ���
  203. ErrorCodeEnum PrintText(BYTE *pData,DWORD dwDataLen);
  204. //��ӡ�����뺯��
  205. //dwUnitWidth ���������ģ����� ȡֵ{2..6} Ĭ��2
  206. //dwHeight ������߶� ��λmm
  207. //iHRIPosition hri�ַ���ӡλ�� ��ö������HriPosition
  208. ErrorCodeEnum PrintBarCode(BarCodeType eType, BYTE *pData,DWORD dwDataLen,DWORD dwUnitWidth,DWORD dwHeight,HriPosition eHRIPosition);
  209. //��ӡ��ά��QRCode����
  210. //dwUnitWidth ��ά�����Ԫ�ؿ��� ȡֵ{1..255} Ĭ��3
  211. ErrorCodeEnum PrintQRCode(BYTE *pData,DWORD dwDataLen,DWORD dwUnitWidth);
  212. //��ӡ��ά��QRCode����
  213. //dwWidth ��ά�볤�� ����λmm
  214. ErrorCodeEnum PrintQRCodeByArea(BYTE *pData,DWORD dwDataLen,DWORD dwUnitWidth,DWORD dwWidth);
  215. //��ӡ��ά��PDF417����
  216. //errorLevel pdf417�������� ȡֵ{0..8}
  217. //dwUnitWidth ����Ԫ�ؿ��� ȡֵ{3..90}
  218. //dwUnitHeight ����Ԫ�س��� ȡֵ{1..30}
  219. //row pdf417 ���� ȡֵ{1..7}
  220. //lines pdf417 ���� ȡֵ{2..25}
  221. ErrorCodeEnum PrintPDF417code(BYTE *pData,DWORD dwDataLen,int errorLevel,DWORD dwUnitWidth,DWORD dwUnitHeight,int rows,int lines);
  222. //��ӡ��ά��PDF417����
  223. //errorLevel pdf417�������� ȡֵ{0..8}
  224. //dwWidth pdf417���� ��λmm
  225. //dwHeight pdf417���� ��λmm
  226. ErrorCodeEnum PrintPDF417codeByArea(BYTE *pData,DWORD dwDataLen,int errorLevel,DWORD dwWidth,DWORD dwHeight);
  227. //��ӡͼ������pData��base64���������
  228. ErrorCodeEnum PrintImage(BYTE *pData,DWORD dwDataLen);
  229. //��ȡ��ӡʧ�ܺ������Ϣ�ʹ���״̬
  230. ErrorCodeEnum GetLastErrState(ThermalState &devState , DevErrorInfo &devErrInfo);
  231. pGetBmpInfo GetBmpInfo;
  232. pBMP_Zoom BMP_Zoom;
  233. public:
  234. void* hModule;
  235. int portNum;
  236. char portname[100];
  237. DEVICEHANDLE g_PrintHandle;
  238. pEnumDeviceInfo EnumDeviceInfo;
  239. pOpenUsbClassPort OpenUsbClassPort;
  240. pInit Init;
  241. pClosePort ClosePort;
  242. pSendPortData SendPortData;
  243. pReadPortData ReadPortData;
  244. pSetPortTimeout SetPortTimeout;
  245. pGetPortTimeout GetPortTimeout;
  246. pOpenUsbApiPort OpenUsbApiPort;
  247. pOpenNetPort OpenNetPort;
  248. pOpenCOMPort OpenCOMPort;
  249. pOpenLPTPort OpenLPTPort;
  250. pOpenNetPortByName OpenNetPortByName;
  251. pOpenBlueToothPortByName OpenBlueToothPortByName;
  252. pOpenBlueToothPort OpenBlueToothPort;
  253. pOpenDriverPort OpenDriverPort;
  254. //query
  255. pRealTimeQueryStatus RealTimeQueryStatus;
  256. pNonRealTimeQueryStatus NonRealTimeQueryStatus;
  257. pAutoQueryStatus AutoQueryStatus;
  258. pFirmwareVersion FirmwareVersion;
  259. pSoftwareVersion SoftwareVersion;
  260. pVendorInformation VendorInformation;
  261. pPrinterName PrinterName;
  262. pResolutionRatio ResolutionRatio;
  263. pHardwareSerialNumber HardwareSerialNumber;
  264. //text
  265. pFeedLine FeedLine;
  266. pPrintTextOut PrintTextOut;
  267. pUniversalTextOut UniversalTextOut;
  268. pSetTextLineHight SetTextLineHight;
  269. pSetTextBold SetTextBold;
  270. pSetTextDoubleWidthAndHeight SetTextDoubleWidthAndHeight;
  271. pSetAlignmentMode SetAlignmentMode;
  272. pSetTextCharacterSpace SetTextCharacterSpace;
  273. pSetTextMagnifyTimes SetTextMagnifyTimes;
  274. pSetTextFontType SetTextFontType;
  275. pSetTextUpsideDownMode SetTextUpsideDownMode;
  276. pSetTextOppositeColor SetTextOppositeColor;
  277. pSetTextColorEnable SetTextColorEnable;
  278. pSetTextFontColor SetTextFontColor;
  279. pSetTextUnderline SetTextUnderline;
  280. pSetTextRotate SetTextRotate;
  281. pSetTextCharsetAndCodepage SetTextCharsetAndCodepage;
  282. pSetTextUserDefinedCharacterEnable SetTextUserDefinedCharacterEnable;
  283. pSetTextDefineUserDefinedCharacter SetTextDefineUserDefinedCharacter;
  284. //bitmap
  285. pPrintBitmap PrintBitmap;
  286. pPrintBitmapByMode PrintBitmapByMode;
  287. pDownloadRAMBitmapByFile DownloadRAMBitmapByFile;
  288. pPrintRAMBitmap PrintRAMBitmap;
  289. pDownloadFlashBitmapByFile DownloadFlashBitmapByFile;
  290. pPrintFlashBitmap PrintFlashBitmap;
  291. pPrintTrueType PrintTrueType;
  292. //barcode
  293. pPrintBarcode PrintBarcode;
  294. pPrintBarcodeSimple PrintBarcodeSimple;
  295. pBarcodePrintQR BarcodePrintQR;
  296. pBarcodePrintPDF417 BarcodePrintPDF417;
  297. pBarcodePrintPDF417Simple mpBarcodePrintPDF417Simple;
  298. pBarcodePrintMaxicode BarcodePrintMaxicode;
  299. pBarcodePrintGS1DataBar BarcodePrintGS1DataBar;
  300. //basic set
  301. pDownloadFile DownloadFile;
  302. pPrintSetMode PrintSetMode;
  303. pPageModeSetArea PageModeSetArea;
  304. pPageModePrint PageModePrint;
  305. pPageModeClearBuffer PageModeClearBuffer;
  306. pFeedLineNumber FeedLineNumber;
  307. pCutPaper CutPaper;
  308. //pReset Reset;
  309. pKickOutDrawer KickOutDrawer;
  310. pApplicationUnit ApplicationUnit;
  311. pPrintDensity PrintDensity;
  312. pMotionUnit MotionUnit;
  313. pSelectPaperType SelectPaperType;
  314. pSelectPaperTypeEEP SelectPaperTypeEEP;
  315. };
  316. THERMALPRINT_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass *&baseObj);
  317. THERMALPRINT_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass *&pBaseObj);
  318. #endif