#ifndef _FS_BARCODE_C_H_
#define _FS_BARCODE_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSFormat {
e_FSFormatCode39 = 0,
e_FSFormatCode128 = 1,
e_FSFormatEAN8 = 2,
e_FSFormatUPCA = 3,
e_FSFormatEAN13 = 4,
e_FSFormatITF = 5,
e_FSFormatPDF417 = 6,
e_FSFormatQRCode = 7,
}FSFormat;



typedef enum _FSQRErrorCorrectionLevel {
e_FSQRCorrectionLevelLow = 0,
e_FSQRCorrectionLevelMedium = 1,
e_FSQRCorrectionLevelQuater = 2,
e_FSQRCorrectionLevelHigh = 3,
}FSQRErrorCorrectionLevel;


FSErrorCode FSDK_Barcode_Create(FS_BARCODE_HANDLE* barcode_return_value);
FSErrorCode FSDK_Barcode_Release(FS_BARCODE_HANDLE barcode_handle);
FSErrorCode FSDK_Barcode_IsEmpty(FS_BARCODE_HANDLE barcode_handle, FS_BOOL* return_value);
FSErrorCode FSDK_Barcode_GenerateBitmap(FS_BARCODE_HANDLE barcode_handle, const wchar_t* info, FSFormat format, FS_INT32 unit_width, FS_INT32 height,
                                FSQRErrorCorrectionLevel level, FS_BITMAP_HANDLE* return_value);
#ifdef __cplusplus
}
#endif
#endif
