tbarcode.h File Reference


Compounds

struct  tagRECTD

Defines

#define TBARCODE_HEADER
 \file Header File for TBarCode Library. Include this header file in your modules to access the TBarCode API. In Windows:
#include "tbarcode.h" 
In Linux/Unix:
The TBarCode Library for Windows and TBarCode Library for UNIX have the same API except for some functions: - Functions denoted with "Windows only" are only available for Windows platforms. - Functions denoted with "UNIX only" are only available in UNIX/Linux environments.
Author(s):
TEC-IT Datenverarbeitung GmbH
Hans-Wagner-Str. 6, A-4400 Steyr, AUSTRIA/EUROPE
https://www.tec-it.com
Copyright © 1996 - 2018 by TEC-IT Datenverarbeitung GmbH
Version:
11.0
Note:
This product is supported. Please send an email to support@tec-it.com.


#define TEC_CALLBACK   CALLBACK
#define TEC_WIN   1
 Defined if platform is Windows. \internal.

#define TEC_WINCE   1
 Defined if platform is Windows CE. \internal.

#define TBARCODE_VERSION   "11.0.0"
 Current TBarCode version.

#define TBARCODE_11_0_0
 Symbol that identifies TBarCode 11.0.0.

#define TECIT_STDCALL   _stdcall
 Defines calling convention. \internal.

#define TBARCODEDLL_API   __declspec(dllimport)
 Exports/imports DLL interface. \internal.

#define TEC_MAX_INPUT   10000
#define S_OK   ((HRESULT) 0x00000000L)
#define S_FALSE   ((HRESULT) 0x00000001L)
#define BC_USEDEFAULT   -1
 Constant indicating a default value. Used for determining or setting the default value of most relevant parameters.

#define ERRCODE   LONG
 Data type for error codes. Error code 0 indicates successful operation.

#define ErrOk   S_OK
#define _BC_T_FUNCTIONS_
#define BCGetLibraryVersion   BCGetLibraryVersionA
#define BCInitLibrary   BCInitLibraryA
#define BCLicenseMe   BCLicenseMeA
#define BCGetBCList   BCGetBCListA
#define BCGetText   BCGetTextA
#define BCSetText   BCSetTextA
#define BCGetFormat   BCGetFormatA
#define BCSetFormat   BCSetFormatA
#define BCSetBarShape   BCSetBarShapeA
#define BCGetBarShape_ImageFileName   BCGetBarShape_ImageFileNameA
#define BCGetRatio   BCGetRatioA
#define BCSetRatio   BCSetRatioA
#define BCGetFontName   BCGetFontNameA
#define BCSetFontName   BCSetFontNameA
#define BCGetDisplayText   BCGetDisplayTextA
#define BCSetDisplayText   BCSetDisplayTextA
#define BCGetCheckDigits   BCGetCheckDigitsA
#define BCCalcCDExt   BCCalcCDExtA
#define BCGetNameFromEnum   BCGetNameFromEnumA
#define BCGetCDList   BCGetCDListA
#define BCGetModWidth   BCGetModWidthA
#define BCSetModWidth   BCSetModWidthA
#define BCCopyToClipboardEx   BCCopyToClipboardExA
#define BCSaveImage   BCSaveImageA
#define BCSaveImageEx   BCSaveImageExA
#define BCBitmapToFile   BCBitmapToFileA
#define BCBitmapToMemory   BCBitmapToMemoryA
#define BCPCLToFile   BCPCLToFileA
#define BCPCLToFileExt   BCPCLToFileExtA
#define BCPDFToFile   BCPDFToFileA
#define BCPostscriptToFile   BCPostscriptToFileA
#define BCGetPostscriptMacros   BCGetPostscriptMacrosA
#define BCSVGToFile   BCSVGToFileA
#define BCAIToFile   BCAIToFileA
#define BCGetMetaData   BCGetMetaDataA
#define BCGetErrorText   BCGetErrorTextA
#define BCGetErrorTextExt   BCGetErrorTextExtA
#define BCGet_PDF417_RowColRatio   BCGet_PDF417_RowColRatioA
#define BCSet_PDF417_RowColRatio   BCSet_PDF417_RowColRatioA
#define BCGet_PDF417_FileID   BCGet_PDF417_FileIDA
#define BCSet_PDF417_FileID   BCSet_PDF417_FileIDA
#define BCGet_PDF417_FileName   BCGet_PDF417_FileNameA
#define BCSet_PDF417_FileName   BCSet_PDF417_FileNameA
#define BCGet_PDF417_Sender   BCGet_PDF417_SenderA
#define BCSet_PDF417_Sender   BCSet_PDF417_SenderA
#define BCGet_PDF417_Addressee   BCGet_PDF417_AddresseeA
#define BCSet_PDF417_Addressee   BCSet_PDF417_AddresseeA
#define BCGet_MPDF417_Versions   BCGet_MPDF417_VersionsA
#define BCSet_Maxi_UsePreamble   BCSet_Maxi_UsePreambleA
#define BCGet_Maxi_PreambleDate   BCGet_Maxi_PreambleDateA
#define BCGet_Maxi_SCMServClass   BCGet_Maxi_SCMServClassA
#define BCGet_Maxi_SCMCountryCode   BCGet_Maxi_SCMCountryCodeA
#define BCGet_Maxi_SCMPostalCode   BCGet_Maxi_SCMPostalCodeA
#define BCSet_Maxi_SCM   BCSet_Maxi_SCMA
#define BCGetDataMatrixSizes   BCGetDataMatrixSizesA
#define BCGet_Aztec_FormatSpecifier   BCGet_Aztec_FormatSpecifierA
#define BCSet_Aztec_Format   BCSet_Aztec_FormatA
#define BCGet_Aztec_AppendTotal   BCGet_Aztec_AppendTotalA
#define BCGet_Aztec_AppendIndex   BCGet_Aztec_AppendIndexA
#define BCGet_Aztec_AppendMessageID   BCGet_Aztec_AppendMessageIDA
#define BCSet_Aztec_AppendData   BCSet_Aztec_AppendDataA
#define BCGetAztecSizes   BCGetAztecSizesA
#define BCGet_DotCode_Size   BCGet_DotCode_SizeA
#define BCSet_DotCode_Size   BCSet_DotCode_SizeA
#define BCGet_DotCode_DefaultSizeForMode   BCGet_DotCode_DefaultSizeForModeA
#define BCGet_DotCode_FormatSpecifier   BCGet_DotCode_FormatSpecifierA
#define BCSet_DotCode_Format   BCSet_DotCode_FormatA
#define BCGet_QR_FmtAppIndicator   BCGet_QR_FmtAppIndicatorA
#define BCSet_QR_FmtAppIndicator   BCSet_QR_FmtAppIndicatorA
#define BCCalcStructApp_Parity   BCCalcStructApp_ParityA
#define BCGetQRCodeVersions   BCGetQRCodeVersionsA
#define BCGetMQRCodeVersions   BCGetMQRCodeVersionsA
#define BCGetHanXinVersions   BCGetHanXinVersionsA
#define BCGetDefaultDataByType   BCGetDefaultDataByTypeA
#define fn_DrawText   fn_DrawTextA
#define BCGetFuncDrawText   BCGetFuncDrawTextA
#define BCSetFuncDrawText   BCSetFuncDrawTextA
#define BCSetOptions   BCSetOptionsA
#define BCGetOptions   BCGetOptionsA

Typedefs

typedef struct tag_BarCode t_BarCode
 Forward declaration of the internal used barcode structure. The exact layout of this structure is hidden.

typedef struct tagRECTD  RECTD
 Rectangle structure for double types.

typedef struct tagRECTD * LPRECTD
 Rectangle structure for double types.


Functions

ERRCODE BCGetLibraryVersionA (INT* pMajor, INT* pMinor, INT* pRelease, INT* pRevision, LPCSTR* pszVersion, LPCSTR* pszBuildDate)
ERRCODE BCGetLibraryVersionW (INT* pMajor, INT* pMinor, INT* pRelease, INT* pRevision, LPCWSTR* pszVersion, LPCWSTR* pszBuildDate)
typedef ERRCODE (TEC_CALLBACK *fn_DrawRow) (VOID* customData, t_BarCode* barcode, HDC drawDC, HDC targetDC, DOUBLE x, DOUBLE y, DOUBLE width, DOUBLE height)
 Callback-function which is called instead of drawing a barcode row. More...

BOOL BCAttach ()
 Initializes TBarCode for further use (Windows static library only). Required only for static library variants of TBarCode (not for DLLs). Must be called as first function.
Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only.
Return values:
true   Initialization successful
false   Initialization not successful ----------------------------------------------------------------------------.


BOOL BCAttachInstance (HINSTANCE hInstance)
 Attach library to given instance (Windows static library only). Required only for static library variants of TBarCode. Must be called as first function.
Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only. \param[in] hInstance Instance handle of process.
Return values:
true   Initialization successful
false   Initialization not successful ----------------------------------------------------------------------------.


BOOL BCDetach ()
 Detach library from process (Windows static library only). Required only for static library variants of TBarCode (not for DLLs). Must be called as last function.
Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only.
Return values:
true   De-initialization successful
false   De-initialization not successful ----------------------------------------------------------------------------.


ERRCODE BCInitLibraryA (LPCSTR szPath)
 Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.
Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCInitLibraryW (LPCWSTR szPath)
 Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.
Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE _BCInitLibraryT (LPCTSTR szPath)
 Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.
Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCDeInitLibrary ()
 De-initializes TBarCode Library (UNIX and Windows CE only). Must be called before terminating the application or before unloading TBarCode Library.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCAlloc (t_BarCode** pBarCode)
 Allocates and initializes barcode structure. Must be called as first function before any other call using pBarCode. This function allocates and initializes the internal barcode structure to store all parameters. It sets the pointer that you pass to this function. For each barcode you want to use simultaneously, you have to call this function to get an appropriate handle (pBarCode). \param[in, out] ppBarCode Pointer to barcode structure. Only valid if return value is ErrOk (0)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCFree() ----------------------------------------------------------------------------.


ERRCODE BCClone (t_BarCode** ppBarCodeDest, const t_BarCode* pBarCodeSrc)
 Makes a clone of an existing bar code structure. Call this function if you need a deep copy of a bar code structure. You have to call BCFree on pBarCodeDest after using in order to free the allocated resources. \param[in, out] ppBarCodeDest Pointer to destination barcode structure. \param[in] pBarCodeSrc Pointer to source barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCFree() ----------------------------------------------------------------------------.


ERRCODE BCFree (t_BarCode* pBarCode)
 Frees barcode structure. Must be called as last function and frees all resources used by pBarCode. The pointer pBarCode must not be used after this call. \param[in] pBarCode Pointer to barcode structure.
See also:
BCAlloc()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCLicenseMeA (LPCSTR lpszLicensee, e_licKind eKindOfLicense, DWORD dwNoOfLicenses, LPCSTR lpszKey, e_licProduct eProductID)
 License TBarCode. Licenses the library with the license key provided by TEC-IT. All demo-mode restrictions are removed. Licensing must take place before you draw a barcode or generate a barcode image file. After licensing the library will stay in licensed mode until it is unloaded from memory. Call this function and pass in the license key you have got after purchasing your license. You receive the license key from TEC-IT Datenverarbeitung GmbH (you can order through https://www.tec-it.com/order). The license kind, the number of licenses and the licensee string have to be passed in exactly as given, they are checked against the license key.

Note:
For Windows only: - If the license key starts with "Mem: xxxxxxxx" the product is licensed until TBarCode will be unloaded from memory. - If the license key received by TEC-IT looks like "HKCU:xxxxxxxx" the product is licensed in the section "HKEY Current User" of the Windows registry. - If the license key received by TEC-IT looks like "xxxxxxxx" or "HKLM:xxxxxxxx" the product is licensed within the section "HK Local Machine" of the Windows Registry (this is the default).
Alternative licensing method: TEC-IT provides the possibility to license the product via an .ini-file (please contact TEC-IT for details). \param[in] lpszLicensee String containing the name of the Licensee. Provided by TEC-IT after ordering. \param[in] eKindOfLicense The type of the license. Provided by TEC-IT after ordering. \param[in] dwNoOfLicenses The number of available licenses. Provided by TEC-IT after ordering. \param[in] lpszKey String containing the license key Provided by TEC-IT after ordering. \param[in] eProductID The type of the licensed product variant (1D or 2D). The Product ID indicates which barcode types will be licensed. One-dimensional (1D or linear barcodes) (1D = Code128, UPC, EAN, Code39, ...) or two-dimensional (2D) barcodes (PDF417, MaxiCode, Data Matrix, ...).
Return values:
ERRCODE   Returns always ErrOk (0) - even if license key is invalid ----------------------------------------------------------------------------.


ERRCODE BCLicenseMeW (LPCWSTR lpszLicensee, e_licKind eKindOfLicense, DWORD dwNoOfLicenses, LPCWSTR lpszKey, e_licProduct eProductID)
 License TBarCode. Licenses the library with the license key provided by TEC-IT. All demo-mode restrictions are removed. Licensing must take place before you draw a barcode or generate a barcode image file. After licensing the library will stay in licensed mode until it is unloaded from memory. Call this function and pass in the license key you have got after purchasing your license. You receive the license key from TEC-IT Datenverarbeitung GmbH (you can order through https://www.tec-it.com/order). The license kind, the number of licenses and the licensee string have to be passed in exactly as given, they are checked against the license key.

Note:
For Windows only: - If the license key starts with "Mem: xxxxxxxx" the product is licensed until TBarCode will be unloaded from memory. - If the license key received by TEC-IT looks like "HKCU:xxxxxxxx" the product is licensed in the section "HKEY Current User" of the Windows registry. - If the license key received by TEC-IT looks like "xxxxxxxx" or "HKLM:xxxxxxxx" the product is licensed within the section "HK Local Machine" of the Windows Registry (this is the default).
Alternative licensing method: TEC-IT provides the possibility to license the product via an .ini-file (please contact TEC-IT for details). \param[in] lpszLicensee String containing the name of the Licensee. Provided by TEC-IT after ordering. \param[in] eKindOfLicense The type of the license. Provided by TEC-IT after ordering. \param[in] dwNoOfLicenses The number of available licenses. Provided by TEC-IT after ordering. \param[in] lpszKey String containing the license key Provided by TEC-IT after ordering. \param[in] eProductID The type of the licensed product variant (1D or 2D). The Product ID indicates which barcode types will be licensed. One-dimensional (1D or linear barcodes) (1D = Code128, UPC, EAN, Code39, ...) or two-dimensional (2D) barcodes (PDF417, MaxiCode, Data Matrix, ...).
Return values:
ERRCODE   Returns always ErrOk (0) - even if license key is invalid ----------------------------------------------------------------------------.


ERRCODE BCCreate (t_BarCode* pBarCode)
 Creates the internal barcode representation. Creates the internal barcode representation depending on all barcode parameters previously set. After this call the barcode is ready for drawing or saving (e.g. with BCDraw()). Do not change barcode parameters or input data after this call.
See also:
BCDraw(), BCSaveImage()
Note:
This function call is a must! \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_BarCType BCGetBCType (t_BarCode* pBarCode)
 Gets the barcode type (symbology) currently adjusted. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
See also:
BCSetBCType()
Return values:
e_BarCType   Bar-code type (symbology) enumerator. Code128 is the default ----------------------------------------------------------------------------.


ERRCODE BCSetBCType (t_BarCode* pBarCode, e_BarCType eType)
 Chooses the required barcode type (symbology). Specifies the type of the barcode to be generated (the so-called symbology). Look at the Barcode Reference to get an overview of the enumerations. The default symbology used by TBarCode is Code128. \param[in] pBarCode Pointer to barcode structure. \param[in] eType Bar-code type (barcode symbology).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetBCType() ----------------------------------------------------------------------------.


LPCSTR* BCGetBCListA ()
 Returns implemented barcode symbologies Returns string-array of implemented barcodes. Use this function in connection with BCGetBCCount().
Return values:
LPCSTR   * String-array of supported barcode symbologies.
See also:
BCGetBCCount() ----------------------------------------------------------------------------.


LPCWSTR* BCGetBCListW ()
 Returns implemented barcode symbologies Returns string-array of implemented barcodes. Use this function in connection with BCGetBCCount().
Return values:
LPCSTR   * String-array of supported barcode symbologies.
See also:
BCGetBCCount() ----------------------------------------------------------------------------.


LONG BCGetBCCount ()
 Returns number of implemented barcodes. Returns number of implemented barcodes. The return value specifies the size of the array returned by BCGetBCList().
Return values:
LONG   Number of supported barcode symbologies
See also:
BCGetBCList() ----------------------------------------------------------------------------.


LPCSTR BCGetTextA (t_BarCode* pBarCode)
 Gets barcode text. Returns the data to be encoded as barcode (also called utilizable data).
See also:
BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCWSTR   Text to be encoded as barcode (UNICODE) ----------------------------------------------------------------------------.


LPCWSTR BCGetTextW (t_BarCode* pBarCode)
 Gets barcode text. Returns the data to be encoded as barcode (also called utilizable data).
See also:
BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCWSTR   Text to be encoded as barcode (UNICODE) ----------------------------------------------------------------------------.


ERRCODE BCSetTextA (t_BarCode* pBarCode, LPCSTR szText, LONG nLen)
 Sets the barcode data (ASCII version). This function applies the input data to the barcode. The input data is also often called "utilisable data". The set of allowed characters depends on the selected barcode type. Some barcode types support alphanumeric or even binary characters, others only numeric. Some types require a specific data length, others do not. If the input data is invalid for the currently selected barcode type, an error code <> 0 is returned.
Please examine the Barcode Reference (https://www.tec-it.com/documentation) to be informed about the data format of the bar codes supported by TEC-IT.
Note:
Please make sure that you set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly.
Encoding (ANSI / UNICODE): The user can either pass ANSI encoded data by calling <b>BCSetTextA</b> or UNICODE encoded data via <b>BCSetTextW</b>.\n The ANSI-encoded data consists of single byte characters and must correspond to Windows or IBM <i>CodePage 1252</i>, which is a special variety of <i>Latin-1</i>.\n /par On Windows systems UNICODE data is UTF-16 encoded, on AIX the encoding is UCS-2. Both are 2-byte encodings. On other Linux and UNIX system UCS-4, a 4-byte encoding, is used instead. \see BCGetText(), BCSetTextA(), BCSetTextW(), BCIsTextUnicode(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text. \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.
More...


ERRCODE BCSetTextW (t_BarCode* pBarCode, LPCWSTR szText, LONG nLen)
 Sets the barcode data (ASCII version). This function applies the input data to the barcode. The input data is also often called "utilisable data". The set of allowed characters depends on the selected barcode type. Some barcode types support alphanumeric or even binary characters, others only numeric. Some types require a specific data length, others do not. If the input data is invalid for the currently selected barcode type, an error code <> 0 is returned.
Please examine the Barcode Reference (https://www.tec-it.com/documentation) to be informed about the data format of the bar codes supported by TEC-IT.
Note:
Please make sure that you set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly.
Encoding (ANSI / UNICODE): The user can either pass ANSI encoded data by calling <b>BCSetTextA</b> or UNICODE encoded data via <b>BCSetTextW</b>.\n The ANSI-encoded data consists of single byte characters and must correspond to Windows or IBM <i>CodePage 1252</i>, which is a special variety of <i>Latin-1</i>.\n /par On Windows systems UNICODE data is UTF-16 encoded, on AIX the encoding is UCS-2. Both are 2-byte encodings. On other Linux and UNIX system UCS-4, a 4-byte encoding, is used instead. \see BCGetText(), BCSetTextA(), BCSetTextW(), BCIsTextUnicode(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text. \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.
More...


BOOL BCIsTextUnicode (t_BarCode* pBarCode)
 Returns type of current input data. Determines if barcode text was passed as UNICODE string or as ASCII string.
See also:
BCSetTextA(), BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   The barcode data was set with BCSetTextW().
false   The barcode data was set with BCSetTextA(). ----------------------------------------------------------------------------.


LONG BCGetTextLen (t_BarCode* pBarCode)
 Gets length of barcode input data. Gets the length of the data set by the user.
See also:
BCSetTextA(), BCSetTextW(), BCGetTextLenCompressed() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of characters ----------------------------------------------------------------------------.


LONG BCGetTextLenCompressed (t_BarCode* pBarCode)
 Gets length of barcode input data (after compression). Gets the length of the data to be encoded.
See also:
BCSetTextA(), BCSetTextW(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of characters ----------------------------------------------------------------------------.


ERRCODE BCSetTextEBCDIC (INT nCodepage, t_BarCode* pBarCode, LPCSTR szText, LONG nLen)
 Sets barcode text (EBCDIC version). This function works the same like BCSetTextA() except that the text is specified in EBCDIC encoding and internally converted to ASCII.
Note:
Please make sure to set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly. \param[in] nCodepage The code page number. \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text (EBCDIC encoded). \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.
More...


e_EncodingMode BCGetEncodingMode (t_BarCode* pBarCode)
 Gets the data encoding mode. The data encoding mode specifies how TBarCode interprets the input data.
See also:
BCSetEncodingMode(), BCGetCodePage(), BCSetCodePage() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_EncodingMode   The Encoding Mode. ----------------------------------------------------------------------------.


ERRCODE BCSetEncodingMode (t_BarCode* pBarCode, e_EncodingMode eMode)
 Sets the data encoding mode. The data encoding mode specifies how TBarCode interprets the input data. In dependence on whether the input data is UNICODE or single character encoded the mode has different effects. See e_EncodingMode and e_CodePage for a more detailed description.
See also:
BCGetEncodingMode(), BCGetCodePage(), BCSetCodePage(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] eMode The encoding mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.


e_CodePage BCGetCodePage (t_BarCode* pBarCode)
 Gets the input data encoding code page. If the data encoding mode is set to eEncMode_CodePage this function specifies in which code page the input data is encoded. Otherwise the code page is ignored. If the this function returns eCodePage_Custom use the function BCGetCodePageCustom to receive the code page.
See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCSetCodePage(), BCSetCodePageCustom(), BCGetCodePageCustom() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_CodePage   The Code Page Identifier. ----------------------------------------------------------------------------.


UINT BCGetCodePageCustom (t_BarCode* pBarCode)
 Gets the input data encoding code page. (custom value) If another than a predefined code page is used (BCGetCodePage returns eCodePage_Custom), this function returns the code page identifier.
See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), BCSetCodePage(), BCSetCodePageCustom() \param[in] pBarCode Pointer to barcode structure.
Return values:
UINT   The Code Page Identifier. ----------------------------------------------------------------------------.


ERRCODE BCSetCodePage (t_BarCode* pBarCode, e_CodePage eCodePage)
 Sets the input data encoding code page. If the data encoding mode is set to eEncMode_CodePage this function specifies in which code page the input data is encoded. Otherwise the code page is ignored. See e_EncodingMode and e_CodePage for a more detailed description.
If the this function returns eCodePage_Custom use the function BCGetCodePageCustom to receive the code page as a code page identifier.
See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), BCSetCodePageCustom(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] eCodePage The code page (as enumeration value).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.


ERRCODE BCSetCodePageCustom (t_BarCode* pBarCode, UINT nCodePage)
 Sets the input data encoding code page. If another than a predefined code page shall be used that means, if the code page is set to eCodePage_Custom, this function specifies in which code page the input data is encoded. Otherwise the value returned by BCGetCodePage is used.
See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] nCodePage The code page identifier (or CP number).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.


e_Compression BCGetCompression (t_BarCode* pBarCode)
 Returns mode of data compression for barcode content. \param[in] pBarCode Pointer to barcode structure.
Return values:
Compression   mode. ----------------------------------------------------------------------.


ERRCODE BCSetCompression (t_BarCode* pBarCode, e_Compression eCompression)
 Sets compression mode for barcode content \param[in,out] pBarCode Pointer to barcode structure. \param[in] eCompression Compression mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.


LPCSTR BCGetFormatA (t_BarCode* pBarCode)
 Gets current format string. Returns currently adjusted value.
See also:
BCSetFormat() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current format string. Default is NULL ----------------------------------------------------------------------------.


LPCWSTR BCGetFormatW (t_BarCode* pBarCode)
 Gets current format string. Returns currently adjusted value.
See also:
BCSetFormat() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current format string. Default is NULL ----------------------------------------------------------------------------.


ERRCODE BCSetFormatA (t_BarCode* pBarCode, LPCSTR szFormat)
 Sets format string applied to barcode data prior encoding. The format string is applied to the barcode data before it is encoded. Using the format string you can perform special operations (like including special control characters, subset switching, start/stop character control) easily.
Please refer to the Barcode Reference for more information.
See also:
BCSetTextA(), BCSetTextW(), BCGetFormat() \param[in] pBarCode Pointer to barcode structure. \param[in] szFormat The format string.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.


ERRCODE BCSetFormatW (t_BarCode* pBarCode, LPCWSTR szFormat)
 Sets format string applied to barcode data prior encoding. The format string is applied to the barcode data before it is encoded. Using the format string you can perform special operations (like including special control characters, subset switching, start/stop character control) easily.
Please refer to the Barcode Reference for more information.
See also:
BCSetTextA(), BCSetTextW(), BCGetFormat() \param[in] pBarCode Pointer to barcode structure. \param[in] szFormat The format string.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.


BOOL BCGetTranslateEsc (t_BarCode* pBarCode)
 Gets current state information regarding escape-sequence translation. Returns currently adjusted value.
See also:
BCSetTranslateEsc() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Escape sequences are translated
false   Escape sequences are not translated. This is the default ----------------------------------------------------------------------------.


ERRCODE BCSetTranslateEsc (t_BarCode* pBarCode, BOOL bTranslate)
 Activates/deactivates the translation of escape-sequences. Defines if escape-sequences in the input data (e.g. "
" in "123\n456") shall be translated before encoding takes place. If the translation of escape-sequences is switched off, all characters are encoded "as-is". If it is activated, escape-sequences are translated into their corresponding characters. See Barcode Reference for more information.
Note:
In order to encode barcode specific control characters (like subset selection in Code128 or FNC1) escape sequences are required.
Escape sequences cannot be used if data compression is activated (BCSetCompression()). If data compression is activated, Escape sequences are not translated. In addition, Escape sequences are not supported with target code page UTF-16 (will raise an error).
See also:
BCGetTranslateEsc(), BCSetTextA(), BCSetTextW() \param[in] pBarCode Pointer to barcode structure. \param[in] bTranslate Translate escape sequences. - true: Escape sequences (like "
") are translated - false: Escape sequences are not translated (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCCheck (t_BarCode* pBarCode)
 Checks barcode input data for validity. The bar code data is validated to be encoded with the selected symbology. Adjust all bar code parameters before you call this function. If the input data is invalid (a non-zero error code was returned), you can correct the bar code data and try again. If the check was successful, do not change barcode parameters or input data anymore (before you create a bar code).
Note:
This function call is optional - if used it must be called before BCCreate().
Escape sequences in the bar code data (if enabled) are NOT translated during this check.
See also:
BCSetTextA(), BCGetInvalidDataPos(), BCSetTranslateEsc() \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGetMaxLenOfData (e_BarCType eType)
 Returns the number of characters for a specified barcode. Returns the exact number of characters that can be encoded with the specified barcode symbology. Returns zero if there is no specified length or an unknown barcode type was passed. \param[in] eType Barcode type.
Return values:
>0   The number of expected input characters.
0   Number of input characters is unknown for this barcode. ----------------------------------------------------------------------------.


BOOL BCGetAutoCorrect (t_BarCode* pBarCode)
 Gets auto-correct option for Code 2 of 5 interleaved. Returns currently adjusted value.
See also:
BCSetAutoCorrect() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Enable auto-correct. This is the default
false   Disable auto-correct ----------------------------------------------------------------------------.


ERRCODE BCSetAutoCorrect (t_BarCode* pBarCode, BOOL bAutoCorrect)
 Sets auto-correct option for input data. If set to true TBarCode performs the following operations on the input data (before creating the bar code): - Code 39: Trim leading/trailing '*' characters (start/stop characters are added by the encoder) - ISBN-13/ISSN/ISMN: Remove '-' characters (not encoded into the bar code) - Code 2of5 Interleaved: Insert a leading zero if the number of data digits is odd (2/5 IL supports only even number of digits) - Code-128: Remove multiple occurences of leading FNC1 and all occurences of trailing FNC1 characters. - GS1-128: Remove all leading and trailing FNC1 characters (the FNC1 at first position is added by the encoder).
Note:
Should always be true. If this option is set to false BCCheck() or BCCreate() may return with an error. \param[in] pBarCode Pointer to barcode structure. \param[in] bAutoCorrect Auto correct flag. - true ... Enable auto-correct - false ... Disable auto-correct
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetAutoCorrect() ----------------------------------------------------------------------------.


LPCSTR BCGetDefaultDataByTypeA (e_BarCType eBCType)
 Returns the default data according to given bar code type. Returns the default data as string for the specified barcode symbology. \param[in] eBCType Type of barcode.
Return values:
LPCSTR   The default data for given bar code type. ----------------------------------------------------------------------------.


LPCWSTR BCGetDefaultDataByTypeW (e_BarCType eBCType)
 Returns the default data according to given bar code type. Returns the default data as string for the specified barcode symbology. \param[in] eBCType Type of barcode.
Return values:
LPCSTR   The default data for given bar code type. ----------------------------------------------------------------------------.


LONG BCGetBkMode (t_BarCode* pBarCode)
 Gets current background drawing mode. Returns currently adjusted value.
See also:
BCSetBkMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
1   Transparent
2   Opaque (background is filled with background color). This is the default. ----------------------------------------------------------------------------.


ERRCODE BCSetBkMode (t_BarCode* pBarCode, LONG nMode)
 Sets background drawing mode. Specifies whether the barcode background should be transparent or opaque. If set to transparent, no background color is used.
See also:
BCGetBkMode() \param[in] pBarCode Pointer to barcode structure. \param[in] nMode Background mode. - 1: Transparent - 2: Opaque (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGetBearerBarWidth (t_BarCode* pBarCode)
 Gets the current width of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 for the default minimum bearer bar width or a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure.
Returns:
The width of the bearer bars in 1/1000 mm or -1 if the default minimum bearer bar width is used.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCSetBearerBarWidth(), BCGetBearerBarType(), BCSetBearerBarType() ----------------------------------------------------------------------------.


ERRCODE BCSetBearerBarWidth (t_BarCode* pBarCode, LONG nBearerWidth)
 Sets the width of the bearer bars [1/1000 mm]. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 (for the default minimum bearer bar of 2X) or to a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable).
The rule for the minimum valid quiet zone (left/right) is 10X + bearer bar width (>= 2X). \param[in] pBarCode Pointer to barcode structure. \param[in] nBearerWidth The width of the bearer bars in 1/1000 mm or -1 if the default minimum bearer bar width should be used.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCGetBearerBarWidth(), BCGetBearerBarType(), BCSetBearerBarType() ----------------------------------------------------------------------------.


e_BearerBar BCGetBearerBarType (t_BarCode* pBarCode)
 Gets the current type of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 (for the default minimum bearer bar width) or a value > 0.
The vertical bearer bar is only displayed if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure.
Returns:
The bearer bar type.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCSetBearerBarType(), BCGetBearerBarWidth(), BCSetBearerBarWidth() ----------------------------------------------------------------------------.


ERRCODE BCSetBearerBarType (t_BarCode* pBarCode, e_BearerBar eType)
 Sets the type of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 for the default minimum bearer bar width or a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure. \param[in] eType The type of bearer bar.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCGetBearerBarType(), BCGetBearerBarWidth(), BCSetBearerBarWidth() ----------------------------------------------------------------------------.


BOOL BCGetMirror (t_BarCode* pBarCode)
 Gets if barcode is drawn mirrored (Windows only). Returns currently adjusted value.
See also:
BCSetMirror()
Note:
WINDOWS only. \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   barcode will be mirrored
FALSE   barcode will be drawn normally. This is the default ----------------------------------------------------------------------------.


ERRCODE BCSetMirror (t_BarCode* pBarCode, BOOL bMirror)
 Sets if barcode is drawn mirrored (Windows only). Mirrors barcode. Ideal for printing barcodes on transparent films. Used in pre-press applications.
See also:
BCGetMirror()
Note:
Works only in Windows when generating Windows GDI output. \param[in] pBarCode Pointer to barcode structure. \param[in] bMirror Mirror barcode. - TRUE: Bar-code will be mirrored - FALSE: Bar-code will be drawn normally (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGetNotchHeight (t_BarCode* pBarCode)
 Gets the current additional length of the synchronization bars (notches). Returns currently adjusted value.
See also:
BCSetNotchHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Otherwise [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSetNotchHeight (t_BarCode* pBarCode, LONG nHeight)
 Sets the additional length of the synchronization bars (notches). The term "notch" describes the synchronization bars used in some symbologies (like EAN, UPC, JAN, ...). These notches are a little bit longer than normal bars. The original length of these synchronization bars is determined by TBarCode automatically. Use this function to specify an additional length of these bars.
Note:
The notch height does not affect the barcode size calculation. So it is recommended that you don't let the notches exceed the barcode size.
Though negative notch heights are allowed, it is recommended to use positive values only.
See also:
BCGetNotchHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Additional notch height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_Degree BCGetRotation (t_BarCode* pBarCode)
 Gets the current rotation of the barcode. Returns currently adjusted value.
See also:
BCSetRotation() \param[in] pBarCode Pointer to barcode structure.
Return values:
deg0   No Rotation. This is the default
e_Degree   Rotation (counter-clockwise) ----------------------------------------------------------------------------.


ERRCODE BCSetRotation (t_BarCode* pBarCode, e_Degree eRotation)
 Sets the rotation of the barcode (counter-clockwise). Rotates the barcode in 90° steps counter-clockwise. If you experience problems with the human readable text, make sure a suitable TrueType font is selected (the selected font must be support rotations).
See also:
BCGetRotation(), BCSetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] eRotation Rotation (counter-clockwise).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_BarShape BCGetBarShape (t_BarCode* pBarCode)
 Gets the current bar shape of the barcode. Returns currently adjusted value.
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
eBarShape_Default   Draw bars in the barcode type's default shape.
e_BarShape   Bar Shape ----------------------------------------------------------------------------.


LPCSTR BCGetBarShape_ImageFileNameA (t_BarCode* pBarCode)
 Gets the file name used for drawing image shapes. Returns currently adjusted value.
Attention:
Not Implemented Yet
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Image file name set.
LPCSTR   The name of the image file used for drawing image shapes. ----------------------------------------------------------------------------.


LPCWSTR BCGetBarShape_ImageFileNameW (t_BarCode* pBarCode)
 Gets the file name used for drawing image shapes. Returns currently adjusted value.
Attention:
Not Implemented Yet
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Image file name set.
LPCSTR   The name of the image file used for drawing image shapes. ----------------------------------------------------------------------------.


ERRCODE BCSetBarShapeA (t_BarCode* pBarCode, e_BarShape eShape, LPCSTR szImageFile)
 Sets the bar shape of the barcode.
Attention:
For average use we strongly recommend to use only bar shape "eBarShape_Default". Using another mode can endanger readability.
A change does make only sense for special applications like advertisements, fun barcodes, etc., that do not enforce the readability of the barcodes.
See also:
BCGetBarShape(), BCGetBarShape_ImageFileName() \param[in] pBarCode Pointer to barcode structure. \param[in] eShape Bar Shape. \param[in] szImageFile Not Implemented Yet Name of the image file. This parameter is used only together with shape "eBarShape_Image". It contains the name of the image file which is used for drawing the bars. For any other shape this parameter is ignored.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSetBarShapeW (t_BarCode* pBarCode, e_BarShape eShape, LPCWSTR szImageFile)
 Sets the bar shape of the barcode.
Attention:
For average use we strongly recommend to use only bar shape "eBarShape_Default". Using another mode can endanger readability.
A change does make only sense for special applications like advertisements, fun barcodes, etc., that do not enforce the readability of the barcodes.
See also:
BCGetBarShape(), BCGetBarShape_ImageFileName() \param[in] pBarCode Pointer to barcode structure. \param[in] eShape Bar Shape. \param[in] szImageFile Not Implemented Yet Name of the image file. This parameter is used only together with shape "eBarShape_Image". It contains the name of the image file which is used for drawing the bars. For any other shape this parameter is ignored.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_BarShape BCGetDefaultShapeForBCType (t_BarCode* pBarCode)
 Gets the default bar shape for current barcode type. Returns default value.
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_BarShape   Bar Shape ----------------------------------------------------------------------------.


COLORREF BCGetColorBC (t_BarCode* pBarCode)
 Gets the current barcode color. Returns currently adjusted value.
Deprecated:
Handling of color values has been enhanced. Use BCGetBarcodeColorGDI(), BCGetBarcodeColorRGB(), BCGetBarcodeColorCMYK(), or BCGetBarcodeColorGray() instead.
See also:
BCSetColorBC() \param[in] pBarCode Pointer to barcode structure
Return values:
COLORREF   Current value. Black is the default ----------------------------------------------------------------------------.


ERRCODE BCSetColorBC (t_BarCode* pBarCode, COLORREF color)
 Sets the color the of barcode. Specifies the color of the bars (or dots) of the barcode.
See also:
BCGetColorBC()
Deprecated:
Handling of color values has been enhanced. Use BCSetBarcodeColorGDI(), BCSetBarcodeColorRGB(), BCSetBarcodeColorCMYK(), or BCSetBarcodeColorGray() instead. \param[in] pBarCode Pointer to barcode structure \param[in] color RGB color value
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


COLORREF BCGetColorFont (t_BarCode* pBarCode)
 Gets the current color of the human readable text. Returns currently adjusted value.
See also:
BCSetColorFont()
Deprecated:
Handling of color values has been enhanced. Use BCGetFontColorGDI(), BCGetFontColorRGB(), BCGetFontColorCMYK(), or BCGetFontColorGray() instead. \param[in] pBarCode Pointer to barcode structure.
Return values:
COLORREF   Current value. Black is the default ----------------------------------------------------------------------------.


ERRCODE BCSetColorFont (t_BarCode* pBarCode, COLORREF color)
 Sets the color of the human readable text. Used only when drawing of the human-readable text is activated (see BCSetPrintText())
See also:
BCGetColorFont(), BCSetPrintText()
Deprecated:
Handling of color values has been enhanced. Use BCSetFontColorGDI(), BCSetFontColorRGB(), BCSetFontColorCMYK(), or BCSetFontColorGray() instead. \param[in] pBarCode Pointer to barcode structure. \param[in] color RGB color value.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


COLORREF BCGetColorBk (t_BarCode* pBarCode)
 Gets the current background color. Returns currently adjusted value.
See also:
BCSetColorBk()
Deprecated:
Handling of color values has been enhanced. Use BCGetBackgroundColorGDI(), BCGetBackgroundColorRGB(), BCGetBackgroundColorCMYK(), or BCGetBackgroundColorGray() instead. \param[in] pBarCode Pointer to barcode structure.
Return values:
COLORREF   Current value. White is the default ----------------------------------------------------------------------------.


ERRCODE BCSetColorBk (t_BarCode* pBarCode, COLORREF color)
 Sets the color of the barcode background. Specifies the background color of the barcode. This color is used to draw the spaces of the barcode when the BackStyle is set to OPAQUE.
See also:
BCGetColorBk(), BCSetBkMode()
Deprecated:
Handling of color values has been enhanced. Use BCSetBackgroundColorGDI(), BCSetBackgroundColorRGB(), BCSetBackgroundColorCMYK(), or BCSetBackgroundColorGray() instead. \param[in] pBarCode Pointer to barcode structure. \param[in] color RGB color value.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_ColorMode BCGetColorMode (const t_BarCode* pBarcode)
 Retrieves the color mode (CMYK, RGB, or Grayscale). \param[in] pBarcode Pointer to barcode structure
Returns:
The color mode ----------------------------------------------------------------------------.


VOID BCSetColorMode (t_BarCode* pBarcode, e_ColorMode mode)
 Sets the color mode (CMYK, RGB, or Grayscale). \param[in,out] pBarcode Pointer to barcode structure. \param[in] mode The color mode. ----------------------------------------------------------------------------.

VOID BCSetBarcodeColorCMYK (t_BarCode* pBarcode, DOUBLE dCyan, DOUBLE dMagenta, DOUBLE dYellow, DOUBLE dBlack)
 Sets the color of the barcode.
See also:
BCGetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorGray(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetBarcodeColorCMYK (const t_BarCode* pBarcode, DOUBLE* pdCyan, DOUBLE* pdMagenta, DOUBLE* pdYellow, DOUBLE* pdBlack)
 Retrieves the color of the barcode.
See also:
BCSetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorGray(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetBarcodeColorGDI (t_BarCode* pBarcode, COLORREF color)
 Sets the color of the barcode.
See also:
BCGetBarcodeColorGDI(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGray(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCGetBarcodeColorGDI (const t_BarCode* pBarcode, COLORREF* pColor)
 Retrieves the color of the barcode.
See also:
BCSetBarcodeColorGDI(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGray(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode stored as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCSetBarcodeColorGray (t_BarCode* pBarcode, DOUBLE dGray)
 Sets the color of the barcode.
See also:
BCGetBarcodeColorGray(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetBarcodeColorGray (const t_BarCode* pBarcode, DOUBLE* pdGray)
 Retrieves the color of the barcode.
See also:
BCSetBarcodeColorGray(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetBarcodeColorRGB (t_BarCode* pBarcode, DOUBLE dRed, DOUBLE dGreen, DOUBLE dBlue)
 Sets the color of the barcode.
See also:
BCGetBarcodeColorRGB(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorGray() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0). \param[in] dGreen Green color component (range: 0.0 - 1.0). \param[in] dBlue Blue color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetBarcodeColorRGB (const t_BarCode* pBarcode, DOUBLE* pdRed, DOUBLE* pdGreen, DOUBLE* pdBlue)
 Retrieves the RGB color of the barcode.
See also:
BCSetBarcodeColorRGB(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorGray() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0). \param[out] pdGreen The green color component (range: 0.0 - 1.0). \param[out] pdBlue The blue color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetBackgroundColorCMYK (t_BarCode* pBarcode, DOUBLE dCyan, DOUBLE dMagenta, DOUBLE dYellow, DOUBLE dBlack)
 Sets the background color the of barcode.
See also:
BCGetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorGray(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetBackgroundColorCMYK (const t_BarCode* pBarcode, DOUBLE* pdCyan, DOUBLE* pdMagenta, DOUBLE* pdYellow, DOUBLE* pdBlack)
 Retrieves the background color of the barcode.
See also:
BCSetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorGray(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0) \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0) \param[out] pdYellow The yellow color component (range: 0.0 - 1.0) \param[out] pdBlack The black component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


VOID BCSetBackgroundColorGDI (t_BarCode* pBarcode, COLORREF color)
 Sets the background color of the barcode.
See also:
BCGetBackgroundColorGDI(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGray(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCGetBackgroundColorGDI (const t_BarCode* pBarcode, COLORREF* pColor)
 Retrieves the background color of the barcode.
See also:
BCSetBackgroundColorGDI(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGray(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode stored as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCSetBackgroundColorGray (t_BarCode* pBarcode, DOUBLE dGray)
 Sets the background color of the barcode.
See also:
BCGetBackgroundColorGray(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetBackgroundColorGray (const t_BarCode* pBarcode, DOUBLE* pdGray)
 Retrieves the background color of the barcode.
See also:
BCSetBackgroundColorGray(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetBackgroundColorRGB (t_BarCode* pBarcode, DOUBLE dRed, DOUBLE dGreen, DOUBLE dBlue)
 Sets the background color of the barcode.
See also:
BCGetBackgroundColorRGB(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorGray() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


VOID BCGetBackgroundColorRGB (const t_BarCode* pBarcode, DOUBLE* pdRed, DOUBLE* pdGreen, DOUBLE* pdBlue)
 Retrieves the background color of the barcode.
See also:
BCSetBackgroundColorRGB(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorGray() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


VOID BCSetFontColorCMYK (t_BarCode* pBarcode, DOUBLE dCyan, DOUBLE dMagenta, DOUBLE dYellow, DOUBLE dBlack)
 Sets the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetFontColorCMYK (const t_BarCode* pBarcode, DOUBLE* pdCyan, DOUBLE* pdMagenta, DOUBLE* pdYellow, DOUBLE* pdBlack)
 Retrieves the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorGray(), BCGetFontColorRGB(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetFontColorGDI (t_BarCode* pBarcode, COLORREF color)
 Sets the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGDI(), BCSetFontColorCMYK(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCGetFontColorGDI (const t_BarCode* pBarcode, COLORREF* pColor)
 Sets the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGDI(), BCSetFontColorCMYK(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCSetFontColorGray (t_BarCode* pBarcode, DOUBLE dGray)
 Sets the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGray(), BCSetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetFontColorGray (const t_BarCode* pBarcode, DOUBLE* pdGray)
 Retrieves the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorGray(), BCGetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorRGB(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetFontColorRGB (t_BarCode* pBarcode, DOUBLE dRed, DOUBLE dGreen, DOUBLE dBlue)
 Sets the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorRGB(), BCSetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorGray(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


VOID BCGetFontColorRGB (const t_BarCode* pBarcode, DOUBLE* pdRed, DOUBLE* pdGreen, DOUBLE* pdBlue)
 Retrieves the font color of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorRGB(), BCGetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorGray(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


LPCSTR BCGetRatioA (t_BarCode* pBarCode)
 Gets current print-ratio string. Returns currently adjusted value.
See also:
BCSetRatio(), BCGetRatioHint(), BCGetRatioString() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current ratio-string in format similar to "1B:2B:...1S:2S" ----------------------------------------------------------------------------.


LPCWSTR BCGetRatioW (t_BarCode* pBarCode)
 Gets current print-ratio string. Returns currently adjusted value.
See also:
BCSetRatio(), BCGetRatioHint(), BCGetRatioString() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current ratio-string in format similar to "1B:2B:...1S:2S" ----------------------------------------------------------------------------.


ERRCODE BCSetRatioA (t_BarCode* pBarCode, LPCSTR szRatio)
 Set print-ratio string. Specifies the print-ratio string for the width-relationship of the single bars and spaces. A format template used for this string is available in the property RatioHint (see BCGetRatioHint()). The ratio string looks like "1B:2B:...1S:2S" where 1B stands for the ratio-value for the most narrow bar, 1S for the ratio-value of the most-narrow space. The number of values for bars (xB) and the number of values for the spaces (xS) depends on the current symbology. It is explained in more detail in the separate document Barcode Reference.
See also:
BCGetRatio(), BCGetRatioHint() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Print-ratio string in the form "1:2:...1:2" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSetRatioW (t_BarCode* pBarCode, LPCWSTR szRatio)
 Set print-ratio string. Specifies the print-ratio string for the width-relationship of the single bars and spaces. A format template used for this string is available in the property RatioHint (see BCGetRatioHint()). The ratio string looks like "1B:2B:...1S:2S" where 1B stands for the ratio-value for the most narrow bar, 1S for the ratio-value of the most-narrow space. The number of values for bars (xB) and the number of values for the spaces (xS) depends on the current symbology. It is explained in more detail in the separate document Barcode Reference.
See also:
BCGetRatio(), BCGetRatioHint() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Print-ratio string in the form "1:2:...1:2" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGetRatioHint (e_BarCType eType)
 Returns the format hint for the print-ratio. Return the format of the ratio-string (to be used only as hint for users or developers). This hint serves as template for your own print-ratio strings passed to BSSetRatio(). The value depends on the selected barcode symbology. Learn more about it in the Barcode Reference.
See also:
BCSetRatio(), BCGetRatio(), BCGetRatioString() \param[in] eType Barcode type.
Return values:
LPCSTR   Bar-code symbology depending string in the format "1B:2B:...:1S:2S" ----------------------------------------------------------------------------.


LPCSTR BCGetRatioString (e_BarCType eType)
 Returns the default print-ratio string of the barcode. Returns the default print-ratio of the selected barcode type as string. The ratio string looks like "1:3:1:3" where the single values separated by colons corresponds to the ratio-values of the bars or spaces. The format of the ratio-string matches the format of the ratio-hint (see BCGetRatioHint()). This default value is used if no other print-ratio was selected.
See also:
BCSetRatio(), BCGetRatioHint() \param[in] eType Barcode type.
Return values:
LPCSTR   Bar-code symbology depending string in the format "1:2:...:1:2" ----------------------------------------------------------------------------.


LONG BCGetCountBars (e_BarCType eBarCType)
 Returns number of different bar-widths used by the symbology. Returns number of different bar-widths used for the specified barcode symbology.
Code 2 of 5 Interleaved uses two different bar-widths: the return value is 2.
See also:
BCGetRatioHint(), BCSetRatio(), BCGetRatio(), BCGetCountSpaces() \param[in] eBarCType Bar-code type.
Return values:
-1   In case of error
>0   Otherwise ----------------------------------------------------------------------------.


LONG BCGetCountSpaces (e_BarCType eBarCType)
 Returns number of different space-widths used by the symbology. Returns number of different space-widths for specified barcode symbology.
Code 2 of 5 Interleaved uses two different space-widths: the return value is 2.
See also:
BCGetRatioHint(), BCSetRatio(), BCGetRatio(), BCGetCountBars() \param[in] eBarCType Bar-code type.
Return values:
-1   In case of error
>0   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetQuietZone (t_BarCode* pBarCode, LPRECTD prQuietZone, e_MUnit eQZMUnit)
 Sets the size of the quiet-zones in given units. Specifies the size of the required quiet zone in the respective units. A quiet zone is an unprinted area above, below, right, or left of a barcode.
Note:
If you specify the quiet zone in modules, the width of the quiet zone depends on the module width (respectively “narrow bar width X”). \param[in] pBarCode Pointer to barcode structure. \param[in] prQuietZone Pointer to a rectangle that specifies the size of a quiet zone. \param[in] eQZUnit The units in which the size of a quiet zone is given (valid units are: eMUDefault, eMUPixel, eMUMM, eMUMils, eMUInch, eMUModules).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if an error occurred.
See also:
BCGetQuietZone() ----------------------------------------------------------------------------.


const LPRECTD BCGetQuietZone (t_BarCode* pBarCode)
 Gets current quiet-zone settings. Returns currently adjusted value.
See also:
BCSetQuietZone() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCRECT   rectangle specifying the quiet-zone dimensions [modules]. ----------------------------------------------------------------------------.


e_MUnit BCGetQuietZoneUnit (t_BarCode* pBarCode)
 Gets current measurement unit used for specifying quiet-zones. Returns currently adjusted value.
See also:
BCSetQuietZone() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_QZMUnit   Unit enumerator. ----------------------------------------------------------------------------.


BOOL BCGetUseQuietZoneDefaultColor (t_BarCode* pBarCode, e_QuietZone eZone)
 Determines whether default background color shall be used for given quiet zone side. Returns currently adjusted value.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetBkMode(), BCGetBkMode(), BCSetColorBk(), BCGetColorBk(), BCSetQuietZoneColorCMYK(), BCSetQuietZoneColorGDI(), BCSetQuietZoneColorGray(), BCSetQuietZoneColorRGB() \param[in] pBarCode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side.
Return values:
BOOL   TRUE if default color shall be used, FALSE otherwise. ----------------------------------------------------------------------------.


VOID BCSetQuietZoneColorCMYK (t_BarCode* pBarcode, e_QuietZone eZone, BOOL bUseDefault, DOUBLE dCyan, DOUBLE dMagenta, DOUBLE dYellow, DOUBLE dBlack)
 Sets the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetQuietZoneColorCMYK (const t_BarCode* pBarcode, e_QuietZone eZone, DOUBLE* pdCyan, DOUBLE* pdMagenta, DOUBLE* pdYellow, DOUBLE* pdBlack)
 Retrieves the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetQuietZoneColorGDI (t_BarCode* pBarcode, e_QuietZone eZone, BOOL bUseDefault, COLORREF color)
 Sets the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCGetQuietZoneColorGDI (const t_BarCode* pBarcode, e_QuietZone eZone, COLORREF* pColor)
 Retrieves the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorGDI(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pColor The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.


VOID BCSetQuietZoneColorGray (t_BarCode* pBarcode, e_QuietZone eZone, BOOL bUseDefault, DOUBLE dGray)
 Sets the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCGetQuietZoneColorGray (const t_BarCode* pBarcode, e_QuietZone eZone, DOUBLE* pdGray)
 Retrieves the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorGray(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.


VOID BCSetQuietZoneColorRGB (t_BarCode* pBarcode, e_QuietZone eZone, BOOL bUseDefault, DOUBLE dRed, DOUBLE dGreen, DOUBLE dBlue)
 Sets the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


VOID BCGetQuietZoneColorRGB (const t_BarCode* pBarcode, e_QuietZone eZone, DOUBLE* pdRed, DOUBLE* pdGreen, DOUBLE* pdBlue)
 Retrieves the background color of the quiet zone.
Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorRGB(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.


LONG BCGetMaximumTextIndex ()
 Gets the maximum text index. Returns the maximum index of available text objects.
See also:
BCSetActiveTextIndex(), BCGetActiveTextIndex()
Return values:
LONG   The maximum index. ----------------------------------------------------------------------------.


LONG BCGetActiveTextIndex (t_BarCode* pBarCode)
 Gets the currently active text index. Returns the index of the currently active/selected text.
A return value of
\li 0 ... means that the human readable text is active (this is the default) \li >0 ... means that the extra text with given index [1 .. n] is active The user can only change the settings of the text that is currently active.
That means that if the user calls the function <CODE>BCSetActiveTextIndex(pBarCode, 1)</CODE> all future calls will be applied to text object #1 until another text object is activated in the same manner. \par Following functions are affected by BCSetActiveTextIndex(): BCSetDisplayText(), BCSetTextRotation(), BCSetLogFont(), BCSetTextAlignment(), BCSetTextPosition(), BCSetPrintText(), BCSetFontName(), BCSetFontHeight(), BCSetFontColor() \par BCGetDisplayText(), BCGetTextRotation(), BCGetLogFont(), BCGetTextAlignment(), BCGetTextPosition(), BCGetPrintText(), BCGetFontName(), BCGetFontHeight(), BCGetFontColor(), BCGetTextClipping(), BCIsWordWrappingEnabled() \param[in] pBarCode Pointer to barcode structure. \retval LONG The index of the currently active text setting.
----------------------------------------------------------------------------.


ERRCODE BCSetActiveTextIndex (t_BarCode* pBarCode, LONG nIndex)
 Sets the currently active text index. The user can only change the setting of the text that is currently active.
That means that if the user calls the function <CODE>BCSetActiveTextIndex(pBarCode, 1)</CODE> all future calls will be applied to text object #1 until another text object is activated in the same manner. \par Following functions are affected by BCSetActiveTextIndex(): BCSetDisplayText(), BCSetTextRotation(), BCSetLogFont(), BCSetTextAlignment(), BCSetTextPosition(), BCSetPrintText(), BCSetFontName(), BCSetFontHeight(), BCSetFontColor() \par BCGetDisplayText(), BCGetTextRotation(), BCGetLogFont(), BCGetTextAlignment(), BCGetTextPosition(), BCGetPrintText(), BCGetFontName(), BCGetFontHeight(), BCGetFontColor(), BCGetTextClipping(), BCIsWordWrappingEnabled() \note By default the human readable text (index 0) is the active text. \par You can change the position and size of an extra text but not that of the human readable text. \param[in] pBarCode Pointer to barcode structure. A value of 0 ... means that the <i>human readable text</i> becomes active (this is the default) >0 ... means that the <i>extra text</i> with given index [1 .. n] becomes active \param[in] nIndex The new active text index. \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred
----------------------------------------------------------------------------.


LOGFONTA* BCGetLogFont (t_BarCode* pBarCode)
 Gets the font of the currently active text object (usually the human readable text - Windows only). Returns currently adjusted value.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
We are using 8 Byte alignment! \par Windows only For UNIX use BCGetFontName() and BCGetFontHeight() instead. \see BCSetLogFont(), BCGetActiveTextIndex(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval LOGFONTA* Pointer to LOGFONTA structure.
----------------------------------------------------------------------------.


ERRCODE BCSetLogFont (t_BarCode* pBarCode, const LOGFONTA* lf)
 Sets the font of the currently active text object (usually the human readable text - Windows only). Sets the font characteristics used for the human readable text and the extra texts.
Note:
Pass a LOGFONTA structure. The font size in field lfHeight must be given in Point [1/72"]. We suggest to leave the field lfWidth 0. If you have to change it, you must set the width in 1/1000 mm.
Usage for printing and BCSaveImage() \code // LOGFONTA font size = size [point] pFont->lfHeight = sizeInPoints; // unit = [point] \endcode \note The currently active text object can be selected by calling BCSetActiveTextIndex(). \par We are using 8 Byte alignment! \par Windows only For UNIX use BCSetFontName() and BCSetFontHeight() instead. \see BCGetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] lf Pointer to LOGFONTA structure. \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.


CHAR* BCGetFontNameA (t_BarCode* pBarCode)
 Gets the font of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
CHAR   * Name of font as a zero-terminated string. ----------------------------------------------------------------------------.


WCHAR* BCGetFontNameW (t_BarCode* pBarCode)
 Gets the font of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
CHAR   * Name of font as a zero-terminated string. ----------------------------------------------------------------------------.


ERRCODE BCSetFontNameA (t_BarCode* pBarCode, const CHAR* szName)
 Sets the font of the currently active text object (usually the human readable text). The name of the font depends on the output format, for example:
\li Postscript accepts names such as Helvetica, Courier, Times-Roman, Helvetica-Bold, etc.
\li PCL accepts names and font numbers such as Helvetica (maps to 16602), Times (maps to 4101), Courier (maps to 4099) or any font number (optional: name and number can be followed by 'Bold')
Consult a Postscript or PCL reference for more information.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] szName Font name.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSetFontNameW (t_BarCode* pBarCode, const WCHAR* szName)
 Sets the font of the currently active text object (usually the human readable text). The name of the font depends on the output format, for example:
\li Postscript accepts names such as Helvetica, Courier, Times-Roman, Helvetica-Bold, etc.
\li PCL accepts names and font numbers such as Helvetica (maps to 16602), Times (maps to 4101), Courier (maps to 4099) or any font number (optional: name and number can be followed by 'Bold')
Consult a Postscript or PCL reference for more information.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] szName Font name.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


INT BCGetFontHeight (t_BarCode* pBarCode)
 Gets the font size in Point of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
INT   Font size in points. ----------------------------------------------------------------------------.


ERRCODE BCSetFontHeight (t_BarCode* pBarCode, INT nHeight)
 Sets the font size [points] of the currently active text object (usually the human readable text). If the font size is not set, a suitable font size is automatically calculated depending on the barcode type and barcode dimensions.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Font height.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSetPrintText (t_BarCode* pBarCode, BOOL bReadable, BOOL bAbove)
 Sets options concerning the currently active text (usually the human readable text). Determines whether the currently active text should be printed and where it should be located (below or above the bar code).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
The parameter <i>bAbove</i> can only be applied to the human readable text and is ignored by the <i>extra text</i> objects. \see BCGetPrintText(), BCGetTextAbove(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] bReadable Print human readable text. - true: Text is printed (this is the default) - false: Text is not printed \param[in] bAbove Print human readable text above barcode. - true: Text is printed above barcode - false: Text is printed below barcode (this is the default) \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.


BOOL BCGetTextAbove (t_BarCode* pBarCode)
 Determines if human-readable text is printed below or above the barcode.
Note:
This function is only supported by the human readable text but NOT by the extra texts.
See also:
BCSetPrintText() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Text is printed above barcode
false   Text is printed below barcode. This is the default ----------------------------------------------------------------------------.


BOOL BCGetPrintText (t_BarCode* pBarCode)
 Determines if the currently active text object (usually the human readable text) is visible.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCSetPrintText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Text is shown (This is the default for the human readable text).
false   Text is not shown (This is the default for the extra texts). ----------------------------------------------------------------------------.


LONG BCGetTextDist (t_BarCode* pBarCode)
 Retrieves the distance between the human readable text and the barcode.
Note:
This function is only supported by the human readable text and NOT by the extra texts.
See also:
BCSetTextDist() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set - distance is computed automatically. This is the default
LONG   Distance between barcode and human readable text [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSetTextDist (t_BarCode* pBarCode, LONG nTextDist)
 Sets the distance between the human readable text and the barcode. The default text distance is computed by TBarCode automatically, but can be overridden by calling BCSetTextDist().
Note:
This function is only supported by the human readable text but NOT by the extra texts.
See also:
BCGetTextDist(), BCSetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] nTextDist Distance between barcode and human readable text [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGetDisplayTextA (t_BarCode* pBarCode)
 Retrieves the content of the currently active text object (usually the human readable text).
Note:
This function returns the value that was previously set by BCSetDisplayText(). It does NOT return the bar code content.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetDisplayText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval NULL No value set. This is the default \retval LPCSTR Human readable text
----------------------------------------------------------------------------.


LPCWSTR BCGetDisplayTextW (t_BarCode* pBarCode)
 Retrieves the content of the currently active text object (usually the human readable text).
Note:
This function returns the value that was previously set by BCSetDisplayText(). It does NOT return the bar code content.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetDisplayText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval NULL No value set. This is the default \retval LPCSTR Human readable text
----------------------------------------------------------------------------.


ERRCODE BCSetDisplayTextA (t_BarCode* pBarCode, LPCSTR szText)
 Sets the content of the currently active text object (usually the human readable text).
Note:
BCSetDisplayText can be used to override the human readable text which normally would contain the bar code content (only if the human readable text is currently active).
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetDisplayText(), BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Display text (reset to default: null). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.


ERRCODE BCSetDisplayTextW (t_BarCode* pBarCode, LPCWSTR szText)
 Sets the content of the currently active text object (usually the human readable text).
Note:
BCSetDisplayText can be used to override the human readable text which normally would contain the bar code content (only if the human readable text is currently active).
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetDisplayText(), BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Display text (reset to default: null). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.


e_BCAlign BCGetTextAlignment (t_BarCode* pBarCode)
 Gets the alignment of the currently active text object (usually the human readable text).
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_BCAlign   Alignment enumerator ----------------------------------------------------------------------------.


ERRCODE BCSetTextAlignment (t_BarCode* pBarCode, e_BCAlign eAlign)
 Sets the alignment of the currently active text object (usually the human readable text). The default is center alignment.
Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCGetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] eAlign Text alignment enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


RECT BCGetTextPosition (t_BarCode* pBarCode)
 Gets the position of the currently active text object. The text position is specified by a bounding rectangle. The coordinates of this rectangle are relative to the bar code's bounding rectangle.
Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval RECT The bounding rectangle of the text.
----------------------------------------------------------------------------.


BOOL BCGetTextClipping (t_BarCode* pBarCode)
 Determines if the currently active text object (usually the human readable text) is clipped.
Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval true Text is clipped. \retval false Text is not clipped.
----------------------------------------------------------------------------.


BOOL BCIsWordWrappingEnabled (t_BarCode* pBarCode)
 [NOT IMPLEMENTED YET!]
Determines if word wrapping is enabled for the currently active text object (usually the human readable text).
NOT IMPLEMENTED YET \note Works only if the currently <b>active</b> text is <b>NOT</b> the human readable text (with index 0) but one of the extra text objects. \par The currently active text object can be selected by calling BCSetActiveTextIndex().. \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval true Text is word wrapped. \retval false Text is not word wrapped.
----------------------------------------------------------------------------.


ERRCODE BCSetTextPosition (t_BarCode* pBarCode, LPRECT pRect, BOOL bClipping, BOOL bWordWrap)
e_Degree BCGetTextRotation (t_BarCode* pBarCode)
 Gets the the rotation of the currently active text object. The text rotation is defined relatively to the bar code rotation. This means that both rotation values will be added.
Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCSetTextRotation() \param[in] pBarCode Pointer to barcode structure. \retval e_Degree The text rotation (counter-clockwise).
----------------------------------------------------------------------------.


ERRCODE BCSetTextRotation (t_BarCode* pBarCode, e_Degree eRotation)
 Sets the the rotation of the currently active text object. The text rotation is defined relatively to the bar code rotation. This means that both rotation values will be added.
Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCGetTextRotation() \param[in] pBarCode Pointer to barcode structure. \param[in] eRotation The text rotation (counter-clockwise). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.


DOUBLE BCGetCharacterSpacing (t_BarCode* pBarCode)
 Gets the the character spacing of the currently active text object. Positive values increment the spacing, negative values decrement it.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCSetCharacterSpacing() \param[in] pBarCode Pointer to barcode structure. \retval DOUBLE The character spacing in points.
----------------------------------------------------------------------------.


ERRCODE BCSetCharacterSpacing (t_BarCode* pBarCode, DOUBLE dSpacing)
 Sets the the character spacing of the currently active text object. Positive values increment the spacing, negative values decrement it. The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCGetCharacterSpacing() \param[in] pBarCode Pointer to barcode structure. \param[in] spacing The character spacing in points.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_CDMethod BCGetCDMethod (t_BarCode* pBarCode)
 Gets the check-digit method currently in use. Returns currently adjusted value.
See also:
BCSetCDMethod() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCDStandard   No value set. This is the default. TBarCode computes the standard check-digit of the symbology.
e_CDMethod   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetCDMethod (t_BarCode* pBarCode, e_CDMethod eMethod)
 Chooses check-digit method to be used. Specifies the calculation method for the check-digit. Possible values are listed in the Barcode Reference.
The method for the check-digit calculation used by TBarCode depends on the adjusted barcode type. In order to make the product as user-friendly as possible, a standard (default) method for each barcode type is supplied. Please note that for some bar codes there is no default check digit, but using a specific method is recommended in their specification. Some symbologies have an internal check sum (e.g. Modulo-103 used with Code-128). This check sum is always part of the generated bar code - regardless what the user specifies here.
Attention:
Adjust only check-digit methods, which are allowed or recommended for a specific symbology. E.g. if a check-digit is generated, which cannot be encoded (e.g. due to limited character set of the barcode) you will get an error. Also consider that it can be necessary that the scanner configuration is adapted to the check digit.
See also:
BCGetCDMethod(), BCCalcCD() \param[in] pBarCode Pointer to barcode structure. \param[in] eMethod Check-digit method.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGetCheckDigitsA (t_BarCode* pBarCode, LPSTR lpszCDText, LONG nSize)
 Returns all computed check-digits for the current barcode. Returns a string that contains all computed check-digits - in most cases 1 or 2 character(s). The string may contain unprintable characters (e.g. ASCII 0). Please note that symbology internal check sums (e.g. Mod-103 with Code-128) are not returned here. Call this function after BCCalcCD() or after BCCreate()
See also:
BCCalcCD(), BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in, out] lpszCDText Check-digit text buffer. If NULL this function returns only the number of check-digits. \param[in] nSize Buffer size of lpszCDText.
Return values:
LONG   Number of check-digits
-1   In case of error (buffer size to small) ----------------------------------------------------------------------------.


LONG BCGetCheckDigitsW (t_BarCode* pBarCode, LPWSTR lpszCDText, LONG nSize)
 Returns all computed check-digits for the current barcode. Returns a string that contains all computed check-digits - in most cases 1 or 2 character(s). The string may contain unprintable characters (e.g. ASCII 0). Please note that symbology internal check sums (e.g. Mod-103 with Code-128) are not returned here. Call this function after BCCalcCD() or after BCCreate()
See also:
BCCalcCD(), BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in, out] lpszCDText Check-digit text buffer. If NULL this function returns only the number of check-digits. \param[in] nSize Buffer size of lpszCDText.
Return values:
LONG   Number of check-digits
-1   In case of error (buffer size to small) ----------------------------------------------------------------------------.


ERRCODE BCCalcCD (t_BarCode* pBarCode)
 Calculates check-digit(s). Calculates the check-digit(s) depending on all barcode parameters previously set (symbology, check digit method, bar code data). You can retrieve the calculated check sum with BCGetCheckDigits(). Do not change barcode parameters or input data after this call (if you want to generate a bar code).
Note:
You can use this function without BCCreate() to generate check sums only (based on the bar code data).
The format property and the escape sequences are not applied to the input data with this function!
This function call is optional. If a check sum is adjusted or required for a bar code, it is calculated with BCCreate() also.
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function. Such internal check sums are generated during BCCreate() without the need of user interaction.
See also:
BCSetCDMethod(), BCGetCheckDigits(), BCCalcCDExt() \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCCalcCDExtA (t_BarCode* pBarCode, LPCSTR lpszData, e_CDMethod eCDMethod, LPSTR lpszChecksum, LONG *nChecksum )
 Calculates check-digit(s) for a given data string. Calculates the check sum for a given data string with the given check digit method. Use this function to generate check digits independently from the adjusted bar code data. E.g. If you need a check digit only displayed in the human readable text (and not encoded in the symbol), use this function to build up your display string.
Note:
The internal bar code data is not influenced by this function. The adjusted bar code type (in pBarCode) is used to determine symbology specific check digit characteristics (use the bar code type eBCNone if you don't need this feature).
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function.
See also:
BCCalcCD(), BCSetCDMethod(), BCGetCheckDigits() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszData Pointer to zero-terminated data string. No data check is performed (e.g. if a check sum method allows only digits). \param[in] eCDMethod Check Digit method \param[in, out] lpszChecksum Check-digit text buffer. If NULL, nChecksum returns the number of check-digits. \param[in, out] nChecksum IN: Buffer size of lpszChecksum, OUT: number of generated check digits (-1 if buffer size is to small).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if check digit generation failed. ----------------------------------------------------------------------------.


ERRCODE BCCalcCDExtW (t_BarCode* pBarCode, LPCWSTR lpszData, e_CDMethod eCDMethod, LPWSTR lpszChecksum, LONG *nChecksum )
 Calculates check-digit(s) for a given data string. Calculates the check sum for a given data string with the given check digit method. Use this function to generate check digits independently from the adjusted bar code data. E.g. If you need a check digit only displayed in the human readable text (and not encoded in the symbol), use this function to build up your display string.
Note:
The internal bar code data is not influenced by this function. The adjusted bar code type (in pBarCode) is used to determine symbology specific check digit characteristics (use the bar code type eBCNone if you don't need this feature).
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function.
See also:
BCCalcCD(), BCSetCDMethod(), BCGetCheckDigits() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszData Pointer to zero-terminated data string. No data check is performed (e.g. if a check sum method allows only digits). \param[in] eCDMethod Check Digit method \param[in, out] lpszChecksum Check-digit text buffer. If NULL, nChecksum returns the number of check-digits. \param[in, out] nChecksum IN: Buffer size of lpszChecksum, OUT: number of generated check digits (-1 if buffer size is to small).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if check digit generation failed. ----------------------------------------------------------------------------.


e_CDMethod* BCGetCDListByType (e_BarCType eBCType)
 Returns the implemented check-digit methods for a barcode symbology. Returns an array of implemented check-digit methods for the specified barcode symbology. \param[in] eBCType Type of barcode.
Return values:
e_CDMethod   * Array of check-digit method enumerators. The array is terminated with -1 (maximum array size is 5). ----------------------------------------------------------------------------.


LPCSTR BCGetNameFromEnumA (e_CDMethod eCDMethod)
 Returns name of check-digit method. Returns string description of the check-digit method specified. \param[in] eCDMethod Check-digit method.
Return values:
LPCSTR   String describing the check-digit method specified. ----------------------------------------------------------------------------.


LPCWSTR BCGetNameFromEnumW (e_CDMethod eCDMethod)
 Returns name of check-digit method. Returns string description of the check-digit method specified. \param[in] eCDMethod Check-digit method.
Return values:
LPCSTR   String describing the check-digit method specified. ----------------------------------------------------------------------------.


LPCSTR* BCGetCDListA ()
 Returns the implemented check-digit methods. Returns array of implemented check-digit methods. Use this function in connection with BCGetCDCount().
See also:
BCGetCDCount()
Return values:
LPCSTR   * String-array of implemented check-digit methods. ----------------------------------------------------------------------------.


LPCWSTR* BCGetCDListW ()
 Returns the implemented check-digit methods. Returns array of implemented check-digit methods. Use this function in connection with BCGetCDCount().
See also:
BCGetCDCount()
Return values:
LPCSTR   * String-array of implemented check-digit methods. ----------------------------------------------------------------------------.


LONG BCGetCDCount ()
 Returns number of implemented check-digit methods. Returns the number of implemented check-digit methods. Use this function in connection with BCGetCDList().
See also:
BCGetCDList()
Return values:
LONG   Number of supported check-digit methods ----------------------------------------------------------------------------.


LPCSTR BCGetOptionsA (t_BarCode* pBarCode, LPCSTR szFilter)
 Retrieves the option string that contains all applied options. If operation fails, e.g. if no options that apply to the filter have been found, NULL is returned.
See also:
BCSetOption() \param[in,out] pBarCode Pointer to barcode structure. \param[in] szFilter (not implemented, yet) Filter string to restrict the returned option string. If filter is NULL or empty only a default set of options is returned.
Returns:
The option string or NULL if the operation fails. ---------------------------------------------------------------------------.


LPCWSTR BCGetOptionsW (t_BarCode* pBarCode, LPCWSTR szFilter)
 Retrieves the option string that contains all applied options. If operation fails, e.g. if no options that apply to the filter have been found, NULL is returned.
See also:
BCSetOption() \param[in,out] pBarCode Pointer to barcode structure. \param[in] szFilter (not implemented, yet) Filter string to restrict the returned option string. If filter is NULL or empty only a default set of options is returned.
Returns:
The option string or NULL if the operation fails. ---------------------------------------------------------------------------.


ERRCODE BCSetOptionsA (t_BarCode* pBarCode, LPCSTR szOption)
 Sets the barcode option string. \details The option string consists of at least one name/value pair followed by zero or more name/value pairs separated by space characters.
The format is: name=value{ name=value}.

A name must be a valid predefined option name. Values can be given in the following ways: \li As Simple Values.
Simple values are passed as they are. Spaces must be escaped by a preceding "". Valid values for boolean options are true and false.\n e.g.: NAME_BOOL=true NAME_NUMBER=123 NAME_DOUBLE=123.45 NAME_TEXT=ABC NAME_WITHSPACE=ABC abc \li As Text Values.
Text values are surrounded by single quotes. They may contain spaces which don't have to be escaped. Single quotes that occur in the text have to be escaped by a preceding "".
e.g.: NAME_TEXT='ABC' NAME_WITHSPACE='ABC abc' NAME_WITHQUOTE='Robin's Nest' \li As Complex Values.
Complex values are surrounded by curly braces "{...}". Complex value may consist of other simple, text, or complex values.
e.g.: NAME_COMPLEX={NAME_TEXT='ABC' NAME_NUMBER=123}

\details Following options are currently supported: \li DRAW_PS_Overprint=[bool] - enable/disable overprinting for PostScript output. \li DRAW_BarWidthReduction_Legacy=[enum] - enable legacy mode for bar width reduction (0 .. disable, 1 .. reduce each module, 2 .. reduce right and bottom). \li DRAW_BarWidthReduction_Values={x=[double] y=[double] unit=[enum]} - set the bar width reduction separated for horizontal (x) and vertical (y) destruction with given unit (see BCSetBarWidthReduction). \li DRAW_OptResolution=[bool] - optimize resolution (see BCSetOptResolution). \li CHECK_CDMethod=[enum] - set the check digit method (see BCSetCDMethod, e_CDMethod). \li CHECK_CodaBarIncludeStartStop=[bool] - determine whether to include start and stop character of CodaBar2 into check digit calculation. \li DATA_TranslateEsc=[bool] - enable/disable translation of escape sequences (see BCSetTranslateEsc). \li DATA_CodePage=[enum] - set the code page for the barcode data (see BCSetCodePage, e_CodePage). \li DATA_Format=[string] - set the format string (see BCSetFormatW). \li MQR_Version=[enum] - set the Micro QR-Code version (see BCSet_MQR_Version, e_MQRVersion). \li MQR_Mask=[enum] - set the Micro QR-Code mask (see BCSet_MQR_Mask, e_MQRMask). \li QrCode_Version=[enum] - set the QR-Code version (see BCSet_QR_Version, e_QRVersion). \li QrCode_Format=[enum] - set the QR-Code format (see BCSet_QR_Format, e_QRFormat). \li QrCode_FmtAppIndicator=[string] - set the QR-Code format application indicator (see BCSet_QR_FmtAppIndicator). \li QrCode_ECLevel=[enum] - set the QR-Code error correction level (see BCSet_QR_ECLevel, e_QRECLevel). \li QrCode_Mask=[enum] - set the QR-Code mask (see BCSet_QR_Mask, e_QRMask). \li QrCode_KanjiChineseCompaction=[enum] - set the QR-Code compaction mode (see BCSet_QR_KanjiChineseCompaction, e_QRMBCompaction). \li QrCode_Append={sum=[int] index=[int] parity=[byte]} - set the QR-Code structured append (see BCSet_QR_Append). \li QrCode_EncodingMode=[enum] - set the QR-Code Encoding Mode (0 .. optimal, 1 .. prefer binary/Byte, 2 .. prefer alphanumeric). \li QrCode_SizeFactorSwissCross=[double] - set the size factor of the Swiss Cross in the Swiss QR Code (default=1.0). \li DataMatrix_Size=[enum] - set the Data Matrix Size (see BCSet_DM_Size, e_DMSizes). \li DataMatrix_Rectangular=[bool] - enforce a rectangular symbol (see BCSet_DM_Rectangular). \li DataMatrix_Format=[enum] - set the Data Matrix format (see BCSet_DM_Format, e_DMFormat). \li DataMatrix_Append={sum=[int] index=[int] fileId=[int]} - set the Data Matrix structured append (see BCSet_DM_Append). \li DataMatrix_EncodingMode=[enum] - set the Data Matrix Encoding Mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer ASCII, 3 .. prefer C40). \li DataMatrix_ECC144Alternative=[bool] - enable/disable alternative ECC for symbol size 144x144. \li DataMatrix_CaptivaScanner=[bool] - enable/disable CAPTIVA scanner mode. \li HanXin_Version=[enum] - set the Han Xin version (see BCSet_HanXin_Version, e_HanXinSizes). \li HanXin_EnforceBinaryEncoding=[bool] - do enforce binary encoding (see BCSet_HanXin_EnforceBinaryEncoding). \li HanXin_ECLevel=[enum] - set the Han Xin error correction level (see BCSet_HanXin_ECLevel, e_HanXinECLevel). \li HanXin_Mask=[enum] - set the Han Xin mask (see BCSet_HanXin_Mask, e_HanXinMask). \li DotCode_Size={mode=[enum] size=[string]} - set the DotCode Size (see BCSet_DotCode_Size, e_DCSizeMode). \li DotCode_PrintDirection=[enum] - set the DotCode print direction (see BCSet_DotCode_PrintDirection, e_DCPrintDirection). \li DotCode_EnforceBinaryEncoding=[bool] (deprecated, please use DotCode_PreferredEncoding) - do enforce binary encoding (see BCSet_DotCode_EnforceBinaryEncoding). \li DotCode_PreferredEncoding=[enum] - set the DotCode preferred encoding mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer Mode A, 3 .. prefer Mode B). \li DotCode_Format={format=[enum] specifier=[string]} - set the DotCode format (see BCSet_DotCode_Format, e_DCFormat). \li DotCode_Mask=[enum] - set the DotCode mask (see BCSet_DotCode_Mask, e_DCMask). \li DotCode_Append={on=<bool> total=<int> index=<int>} - set the DotCode structured append (see BCSet_DotCode_AppendActive, BCSet_DotCode_Append). \li DotCode_ExtMaskSelection=[bool] - use the extended DotCode mask selection algorithm. This flag has only effect, when no specific mask is selected. \li PDF417_MacroPDF417={fileId=[string] index=[int] last=[bool] count=[int]} - set the most common Macro PDF417 parameters. \li EanUpc_NotchHeight=[int] - set the EAN/UPC notch height (see BCSetNotchHeight). \li EanUpc_ShowQZMarker=[bool] - show quiet zone markers (see Format Setting '<'). \li EanUpc_LegacyDraw=[bool] - enable legacy draw mode (without increasing or decreasing the module width). \li Code128_LegacyMode=[bool] - enable legacy encoding mode (no extended encoding, mapping of umlauts). \li Hibc_Lic_Version=[enum] - set the HIBC LIC standard version (0 .. V2.2, 1 .. V2.4, 2 .. V2.6). \li Hibc_Pas_Version=[enum] - set the HIBC PAS standard version (0 .. V1.2, 1 .. V1.3). \li Hibc_Replace0=[bool] - replace '0' in display text by 'Ø'. \li Comp_CCType=[enum] - set the composite component type (see BCSet2DCompositeComponent, e_CCType). Valid values for: \li [bool] (boolean) are true and false. \li [enum] (enumeration) are integer values in the range of the according enumeration data type. See also "tecbcenum.h". \li [string] (string) are string/text values. \li [int] (integer) are integer values. \li [byte] (byte) are integer values in the range of [0..255]. \param[in,out] pBarCode Pointer to barcode structure. \param[in] szOption Option string.
See also:
BCGetOption()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred (e.g. if any of the options was not found). ---------------------------------------------------------------------------.
More...


ERRCODE BCSetOptionsW (t_BarCode* pBarCode, LPCWSTR szOption)
 Sets the barcode option string. \details The option string consists of at least one name/value pair followed by zero or more name/value pairs separated by space characters.
The format is: name=value{ name=value}.

A name must be a valid predefined option name. Values can be given in the following ways: \li As Simple Values.
Simple values are passed as they are. Spaces must be escaped by a preceding "". Valid values for boolean options are true and false.\n e.g.: NAME_BOOL=true NAME_NUMBER=123 NAME_DOUBLE=123.45 NAME_TEXT=ABC NAME_WITHSPACE=ABC abc \li As Text Values.
Text values are surrounded by single quotes. They may contain spaces which don't have to be escaped. Single quotes that occur in the text have to be escaped by a preceding "".
e.g.: NAME_TEXT='ABC' NAME_WITHSPACE='ABC abc' NAME_WITHQUOTE='Robin's Nest' \li As Complex Values.
Complex values are surrounded by curly braces "{...}". Complex value may consist of other simple, text, or complex values.
e.g.: NAME_COMPLEX={NAME_TEXT='ABC' NAME_NUMBER=123}

\details Following options are currently supported: \li DRAW_PS_Overprint=[bool] - enable/disable overprinting for PostScript output. \li DRAW_BarWidthReduction_Legacy=[enum] - enable legacy mode for bar width reduction (0 .. disable, 1 .. reduce each module, 2 .. reduce right and bottom). \li DRAW_BarWidthReduction_Values={x=[double] y=[double] unit=[enum]} - set the bar width reduction separated for horizontal (x) and vertical (y) destruction with given unit (see BCSetBarWidthReduction). \li DRAW_OptResolution=[bool] - optimize resolution (see BCSetOptResolution). \li CHECK_CDMethod=[enum] - set the check digit method (see BCSetCDMethod, e_CDMethod). \li CHECK_CodaBarIncludeStartStop=[bool] - determine whether to include start and stop character of CodaBar2 into check digit calculation. \li DATA_TranslateEsc=[bool] - enable/disable translation of escape sequences (see BCSetTranslateEsc). \li DATA_CodePage=[enum] - set the code page for the barcode data (see BCSetCodePage, e_CodePage). \li DATA_Format=[string] - set the format string (see BCSetFormatW). \li MQR_Version=[enum] - set the Micro QR-Code version (see BCSet_MQR_Version, e_MQRVersion). \li MQR_Mask=[enum] - set the Micro QR-Code mask (see BCSet_MQR_Mask, e_MQRMask). \li QrCode_Version=[enum] - set the QR-Code version (see BCSet_QR_Version, e_QRVersion). \li QrCode_Format=[enum] - set the QR-Code format (see BCSet_QR_Format, e_QRFormat). \li QrCode_FmtAppIndicator=[string] - set the QR-Code format application indicator (see BCSet_QR_FmtAppIndicator). \li QrCode_ECLevel=[enum] - set the QR-Code error correction level (see BCSet_QR_ECLevel, e_QRECLevel). \li QrCode_Mask=[enum] - set the QR-Code mask (see BCSet_QR_Mask, e_QRMask). \li QrCode_KanjiChineseCompaction=[enum] - set the QR-Code compaction mode (see BCSet_QR_KanjiChineseCompaction, e_QRMBCompaction). \li QrCode_Append={sum=[int] index=[int] parity=[byte]} - set the QR-Code structured append (see BCSet_QR_Append). \li QrCode_EncodingMode=[enum] - set the QR-Code Encoding Mode (0 .. optimal, 1 .. prefer binary/Byte, 2 .. prefer alphanumeric). \li QrCode_SizeFactorSwissCross=[double] - set the size factor of the Swiss Cross in the Swiss QR Code (default=1.0). \li DataMatrix_Size=[enum] - set the Data Matrix Size (see BCSet_DM_Size, e_DMSizes). \li DataMatrix_Rectangular=[bool] - enforce a rectangular symbol (see BCSet_DM_Rectangular). \li DataMatrix_Format=[enum] - set the Data Matrix format (see BCSet_DM_Format, e_DMFormat). \li DataMatrix_Append={sum=[int] index=[int] fileId=[int]} - set the Data Matrix structured append (see BCSet_DM_Append). \li DataMatrix_EncodingMode=[enum] - set the Data Matrix Encoding Mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer ASCII, 3 .. prefer C40). \li DataMatrix_ECC144Alternative=[bool] - enable/disable alternative ECC for symbol size 144x144. \li DataMatrix_CaptivaScanner=[bool] - enable/disable CAPTIVA scanner mode. \li HanXin_Version=[enum] - set the Han Xin version (see BCSet_HanXin_Version, e_HanXinSizes). \li HanXin_EnforceBinaryEncoding=[bool] - do enforce binary encoding (see BCSet_HanXin_EnforceBinaryEncoding). \li HanXin_ECLevel=[enum] - set the Han Xin error correction level (see BCSet_HanXin_ECLevel, e_HanXinECLevel). \li HanXin_Mask=[enum] - set the Han Xin mask (see BCSet_HanXin_Mask, e_HanXinMask). \li DotCode_Size={mode=[enum] size=[string]} - set the DotCode Size (see BCSet_DotCode_Size, e_DCSizeMode). \li DotCode_PrintDirection=[enum] - set the DotCode print direction (see BCSet_DotCode_PrintDirection, e_DCPrintDirection). \li DotCode_EnforceBinaryEncoding=[bool] (deprecated, please use DotCode_PreferredEncoding) - do enforce binary encoding (see BCSet_DotCode_EnforceBinaryEncoding). \li DotCode_PreferredEncoding=[enum] - set the DotCode preferred encoding mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer Mode A, 3 .. prefer Mode B). \li DotCode_Format={format=[enum] specifier=[string]} - set the DotCode format (see BCSet_DotCode_Format, e_DCFormat). \li DotCode_Mask=[enum] - set the DotCode mask (see BCSet_DotCode_Mask, e_DCMask). \li DotCode_Append={on=<bool> total=<int> index=<int>} - set the DotCode structured append (see BCSet_DotCode_AppendActive, BCSet_DotCode_Append). \li DotCode_ExtMaskSelection=[bool] - use the extended DotCode mask selection algorithm. This flag has only effect, when no specific mask is selected. \li PDF417_MacroPDF417={fileId=[string] index=[int] last=[bool] count=[int]} - set the most common Macro PDF417 parameters. \li EanUpc_NotchHeight=[int] - set the EAN/UPC notch height (see BCSetNotchHeight). \li EanUpc_ShowQZMarker=[bool] - show quiet zone markers (see Format Setting '<'). \li EanUpc_LegacyDraw=[bool] - enable legacy draw mode (without increasing or decreasing the module width). \li Code128_LegacyMode=[bool] - enable legacy encoding mode (no extended encoding, mapping of umlauts). \li Hibc_Lic_Version=[enum] - set the HIBC LIC standard version (0 .. V2.2, 1 .. V2.4, 2 .. V2.6). \li Hibc_Pas_Version=[enum] - set the HIBC PAS standard version (0 .. V1.2, 1 .. V1.3). \li Hibc_Replace0=[bool] - replace '0' in display text by 'Ø'. \li Comp_CCType=[enum] - set the composite component type (see BCSet2DCompositeComponent, e_CCType). Valid values for: \li [bool] (boolean) are true and false. \li [enum] (enumeration) are integer values in the range of the according enumeration data type. See also "tecbcenum.h". \li [string] (string) are string/text values. \li [int] (integer) are integer values. \li [byte] (byte) are integer values in the range of [0..255]. \param[in,out] pBarCode Pointer to barcode structure. \param[in] szOption Option string.
See also:
BCGetOption()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred (e.g. if any of the options was not found). ---------------------------------------------------------------------------.
More...


DOUBLE BCGet2D_XRows (const t_BarCode* pBarCode)
 Returns the height of the barcode in modules. The measurement unit used for the return value is the module width (X). The total symbol height would be the return value of this function * X (X = module width) + height of text area (BCGetTextAreaHeight()). Can be used for BCSaveImage() to optimize the resolution of the resulting image.
Note:
To be used with 2D symbologies and all composite codes (with a 2D composite component). Please contact support@tec-it.com if you have to deal with resolution (bitmap) issues.
See also:
BCGet2D_XCols(), BCGetTextAreaHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of vertical modules ----------------------------------------------------------------------------.


LONG BCGet2D_XCols (const t_BarCode* pBarCode)
 Returns the width of the barcode in modules. The measurement unit used for the return value is the module width (X). The total symbol width would be the return value of this function * X (X = module width). Can be used for BCSaveImage() to optimize the resolution of the resulting image.
Note:
To be used with 2D symbologies and all composite codes (with a 2D composite component).
See also:
BCGet2D_XRows(), BCGetTextAreaHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of horizontal modules ----------------------------------------------------------------------------.


DOUBLE BCGetCountModules (const t_BarCode* pBarCode)
 Returns the number of modules in the barcode. Returns the number of modules for the current barcode with respect to encoded data, check-digits, subset and other barcode parameters. With 2D symbologies the total number of all modules (in all rows) will be returned.
Note:
To be used with linear symbologies.
Call this function after BCCreate()
See also:
BCGet2D_XCols()
Returns:
Number of modules ----------------------------------------------------------------------------.


LONG BCGetCountRows (const t_BarCode* pBarCode)
 Returns the number of rows in the barcode. Returns the number of rows in multi-row symbologies (PDF417, Data Matrix, Codablock-F, QR-Code, MicroPDF417, RSS Stacked versions)
Note:
To be used with the following symbologies: PDF417, Data Matrix, Codablock-F, QR-Code, MicroPDF417
Call this function after BCCreate()
See also:
BCGet2D_XRows() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of rows ----------------------------------------------------------------------------.


DOUBLE BCGetModuleWidth (t_BarCode* pBarCode, LPRECT pRect, HDC hDC, e_MUnit eUnit)
 Returns the module width. Returns the computed module width for a given device context with respect to encoded data, check-digits, subset and other barcode parameters. You can specify the unit, which should be used for the return value.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)
Note:
Call this function after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Module width ----------------------------------------------------------------------------.


DOUBLE BCGetBarcodeWidth (t_BarCode* pBarCode, LPRECT pRect, HDC hDC, e_MUnit eUnit)
 Returns the total width of the barcode symbol. Returns the total barcode width in the specified measurement unit for a given device context. You can specify the measurement unit, which should be used for the return value. Use BCGetBarcodeSize() if you also need the height of the symbol. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle. If a module width has been set, the bar code width depends on the module width and the number of horizontal modules.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)
See also:
BCGetBarcodeHeight(), BCGetBarcodeSize(), BCSetModWidth()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. If you use a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Width of barcode symbol ----------------------------------------------------------------------------.


DOUBLE BCGetBarcodeHeight (t_BarCode* pBarCode, LPRECT pRect, HDC hDC, e_MUnit eUnit)
 Returns the height of the barcode symbol. Returns the total barcode height in the specified measurement unit. Use BCGetBarcodeSize() if you also need the width of the symbol. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle.
Relevant for 2D or Multi-Row Symbologies (e.g. PDF417, Data Matrix, RSS Stacked...): If a row height has been set, the bar code height depends on the adjusted row height and the number of rows in the symbol. For some symbologies also the module width is relevant for the symbol height.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)
See also:
BCGetBarcodeSize(), BCGetBarcodeWidth(), BCSetModWidth(), BCSet_PDF417_RowHeight()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. If you use a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Height of barcode symbol ----------------------------------------------------------------------------.


ERRCODE BCGetBarcodeSize (t_BarCode* pBarCode, LPRECT pRect, HDC hDC, e_MUnit eUnit, DOUBLE* pdWidth, DOUBLE* pdHeight)
 Computes the barcode size (recommended method). Computes width and height of barcode with one call. You can use this function before you draw the barcode to ensure that there is enough space available. Call this function after BCCreate() and specify a bounding rectangle (target coordinates, where you would draw the barcode). This rectangle is relevant if you haven't specified a module width or a row height. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)
See also:
BCGetBarcodeHeight(), BCGetBarcodeWidth()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. With a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit. \param[in, out] pdWidth Pointer to resulting width (NULL if not required). \param[in, out] pdHeight Pointer to resulting height (NULL if not required).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


DOUBLE BCGetTextAreaHeight (t_BarCode* pBarCode, LPRECT pRect, HDC hDC, e_MUnit eUnit)
 Returns the height of the human readable text area. Returns the height of the human readable text area in the specified measurement unit.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch) \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
0   If no text-area used for barcode.
>0   Height of text-area in the specified measurement units. ----------------------------------------------------------------------------.


ERRCODE BCGetOptimalBitmapSize (t_BarCode* pBarCode, LPRECT pRect, LONG nScaleX, LONG nScaleY)
 Returns the optimal size of a bitmap for given bar code settings. The optimal bitmap size depends on the number of horizontal bar/space modules and also on the number of vertical rows (multi-row or matrix codes). The default height for linear codes can be preset by the pRect->bottom parameter. This function also takes the DPI property into account. You can use the returned values as input for the save image functions.
Note:
This function calculates the bar code size for a rotation of 0 degrees.
If a quiet zone is set, it is considered automatically by GetOptimalBitmapSize. But note that only quiet zones given in modules or pixels can be handled. The other units lead to an error because a device context would be needed for a proper bitmap size calculation. If you apply the results for a rotated bar code of 90° or 270° you have to exchange width and height.
See also:
BCSetDPI(), BCSaveImage(), BCSaveImageToBuffer(), BCBitmapToFile(), BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in, out] pRect [in] The size of the bounding rectangle without HRT (for barcode orientation of 0 degrees) in Pixels. [out] The size of the optimal bitmap including HRT (if any) in Pixels. \param[in] nScaleX Horizontal scaling factor. \param[in] nScaleY Vertical scaling factor.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


DOUBLE BCGetDPIHorz (t_BarCode* pBarCode)
 Gets current user-defined horizontal resolution. Gets current user-defined horizontal resolution.
See also:
BCSetDPI() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Horizontal DPI ----------------------------------------------------------------------------.


DOUBLE BCGetDPIVert (t_BarCode* pBarCode)
 Gets current user-defined vertical resolution. Gets current user-defined vertical resolution.
See also:
BCSetDPI() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Vertical DPI ----------------------------------------------------------------------------.


ERRCODE BCSetDPI (t_BarCode* pBarCode, DOUBLE dDPIHorz, DOUBLE dDPIVert)
 Sets user defined resolution. Sets output resolution to be used in bar code drawing / calculation functions. If not set (default), the resolution of the available device context is used (e.g. screen resolution or printer resolution). Can be used to estimate the quality of a bar code for a specific output resolution (BCGetQuality()). For other purposes this function should be used careful, because bar code dimensions can change unexpectedly.
See also:
BCGetDPIHorz(), BCGetDPIVert() \param[in] pBarCode Pointer to barcode structure. \param[in] dDPIHorz User defined horizontal DPI (-1 ... reset to default). \param[in] dDPIVert User defined vertical DPI (-1 ... reset to default) ==> Parameter is currently not used.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGetIgnoreDpiFromDC (t_BarCode* pBarCode)
 Retrieves whether TBarCode ignores the resolution of the device context (Windows only). More...

ERRCODE BCSetIgnoreDpiFromDC (t_BarCode* pBarCode, BOOL bIgnore)
 Determines whether TBarCode shall ignore the resolution from the device context (Windows only). More...

LPCSTR BCGetModWidthA (t_BarCode* pBarCode)
 Gets the current module width (value is returned as string). Returns currently adjusted value.
See also:
BCSetModWidth(), BCSetModWidthN()
Note:
This method converts the module width to a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   String containing the module width [1/1000 mm] ----------------------------------------------------------------------------.


LPCWSTR BCGetModWidthW (t_BarCode* pBarCode)
 Gets the current module width (value is returned as string). Returns currently adjusted value.
See also:
BCSetModWidth(), BCSetModWidthN()
Note:
This method converts the module width to a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   String containing the module width [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSetModWidthA (t_BarCode* pBarCode, LPCSTR szModWidth)
 Sets a fixed module width (value is passed as string [0.001 mm]). The module width is defined as the width of the smallest element (bar or space) a barcode is using. Values are specified is 1/1000 mm. If the module width is not set explicitly (default), the module width is automatically adapted to the object size (Bounding rectangle) and the amount of data to be encoded. If a value is set, the width of the modules and therefore of the whole barcode can be controlled (this may also influence the readability!). If set, the barcode width depends on the amount of data encoded in the barcode. For most barcode symbologies the module width should not fall below 0.19 mm. When drawing (Paint) the size of the bounding rectangle must be wide enough to avoid clipping.
See also:
BCSetModWidthN()
Note:
This method expects that the required module width is converted into a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure. \param[in] szModWidth Module width [1/1000 mm] (reset to default = "-1").
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSetModWidthW (t_BarCode* pBarCode, LPCWSTR szModWidth)
 Sets a fixed module width (value is passed as string [0.001 mm]). The module width is defined as the width of the smallest element (bar or space) a barcode is using. Values are specified is 1/1000 mm. If the module width is not set explicitly (default), the module width is automatically adapted to the object size (Bounding rectangle) and the amount of data to be encoded. If a value is set, the width of the modules and therefore of the whole barcode can be controlled (this may also influence the readability!). If set, the barcode width depends on the amount of data encoded in the barcode. For most barcode symbologies the module width should not fall below 0.19 mm. When drawing (Paint) the size of the bounding rectangle must be wide enough to avoid clipping.
See also:
BCSetModWidthN()
Note:
This method expects that the required module width is converted into a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure. \param[in] szModWidth Module width [1/1000 mm] (reset to default = "-1").
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


DOUBLE BCGetModWidthN (t_BarCode* pBarCode)
 Gets the module width. The value is returned as numeric parameter [0.001 mm].
See also:
BCSetModWidth() \param[in] pBarCode Pointer to barcode structure.
Returns:
Module width [1/1000 mm] (-1.0 = default). ----------------------------------------------------------------------------.


ERRCODE BCSetModWidthN (t_BarCode* pBarCode, DOUBLE moduleWidth)
 Sets a fixed module width (value is passed as numeric parameter [0.001 mm]). Sets a fixed module width passing a numeric value.
See also:
BCSetModWidth() \param[in] pBarCode Pointer to barcode structure. \param[in] moduleWidth Module width [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGetMustFit (t_BarCode* pBarCode)
 Returns if the barcode must fit into the bounding rectangle. Returns currently adjusted value.
See also:
BCSetMustFit() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   TBarCode checks if barcode fits into bounding rectangle
false   TBarCode does not check if barcode fits into bounding rectangle. This is the default ----------------------------------------------------------------------------.


ERRCODE BCSetMustFit (t_BarCode* pBarCode, BOOL bMustFit)
 Checks if the barcode fits into the bounding rectangle. This property means that the barcode must fit into the bounding rectangle during drawing. Background: When specifying a fixed module width the barcode width (not the width of the bounding rectangle) changes corresponding to the amount of data characters. In addition, "MustFit" verifies if the module width is less than 1 pixel (which is treated as error in this case) If "MustFit" is activated an error may be produced due to the above reasons during the BCDraw() method.
See also:
BCGetMustFit(), BCDraw() \param[in] pBarCode Pointer to barcode structure. \param[in] bMustFit - true: Check if barcode fits into bounding rectangle will be enabled - false: Check if barcode fits into bounding rectangle will be disabled (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGetOptResolution (t_BarCode* pBarCode)
 Gets current barcode optimizing behavior. Returns currently adjusted value.
See also:
BCSetOptResolution() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Optimization is enabled
false   Optimization is disabled. This is the default ----------------------------------------------------------------------------.


ERRCODE BCSetOptResolution (t_BarCode* pBarCode, BOOL bOpt)
 Optimize barcode resolution. If this feature is activated, the module width will be adapted to the resolution of the output device (or output format) by TBarCode. All bars/spaces of a barcode are aligned to the output raster in a way that only full pixels for the bar (space) widths are used. This process depends either on the DPI in the drawing DC (screen or printer driver) or the DPI property in the TBarCode Library. Using optimization the readability of the barcode is (quite) independent from the given resolution (except the resulting bar code will be too small). Using this option is recommended for bitmap formats or low output resolutions (e.g. screen or thermal transfer printers).

Note:
The total width of the barcode may shrink compared to the non-optimized version. With eSizeMode_FitToBoundingRect the resulting barcode will not be larger than the bounding-rectangle. Keep care about the minimal size of the barcode!
If you use this feature with a custom module width, add a tolerance of 0.001 mm to the module width.
Hint for saving the barcode in Postscript/EPS format: If the DPI is not explicitly set in the library, the module width will be adapted to the default EPS 72 dpi raster width. That means the module width becomes a multiple of 1/72" (point). This may be relevant if you convert the EPS output to a raster / bitmap image format in a second step.
See also:
BCGetOptResolution() BCSetDPI() \param[in] pBarCode Pointer to barcode structure. \param[in] bOpt Optimize barcode for resolution. - true: Optimization will be enabled - false: Optimization will be disabled (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_SizeMode BCGetSizeMode (const t_BarCode* pBarCode)
 Retrieves the mode that determines the barcode size. If operation fails, eSizeMode_Default (= -1) is returned. \param[in] pBarCode Pointer to barcode structure.
Returns:
Mode that describes how the barcode size is determined. ----------------------------------------------------------------------.


ERRCODE BCSetSizeMode (t_BarCode* pBarCode, e_SizeMode mode)
 Sets the mode that determines the barcode size. \param[in,out] pBarCode Pointer to barcode structure. \param[in] mode Mode that determines barcode size.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.


e_Decoder BCGetDecoder (t_BarCode* pBarCode)
 Returns the type of decoder that will be used to read this barcodes. The module width will be optimized for this type of scanner. \param[in] pBarCode Pointer to barcode structure.
Return values:
Type   of scanner. ----------------------------------------------------------------------.


ERRCODE BCSetDecoder (t_BarCode* pBarCode, e_Decoder eDecoder)
 Sets the type of decoder that will be used to read this barcodes. The module width will be optimized for this type of scanner. \param[in,out] pBarCode Pointer to barcode structure. \param[in] eDecoder Type of scanner.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.


DOUBLE BCGetBarWidthReduction (t_BarCode* pBarCode)
 Gets current bar-width reduction value. Returns currently adjusted value.
See also:
BCSetBarWidthReduction(), BCGetBarWidthReductionUnit() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Reduction in percent [0...100]. No reduction: 0 (this is the default) ----------------------------------------------------------------------------.


e_MUnit BCGetBarWidthReductionUnit (t_BarCode* pBarCode)
 Gets current bar-width reduction unit. Returns currently adjusted unit.
See also:
BCSetBarWidthReduction(), BCGetBarWidthReduction() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Reduction in percent [0...100]. No reduction: 0 (this is the default) ----------------------------------------------------------------------------.


ERRCODE BCSetBarWidthReduction (t_BarCode* pBarCode, DOUBLE dValue, e_MUnit eUnit)
 Sets bar-width reduction (Pixel-Shaving) in given unit. Specifies the reduction of the bar-widths. The width of a bar in the barcode is reduced by the given value in the given unit. This property is useful when you have to deal with dot gain in the printing process. Example: On inkjet printers the bars appear wider than specified because the ink spreads a little bit. Same with (high) toner saturation on laser printers. You can compensate this effect by setting a bar-width reduction (also called BWR or "Pixel Shaving") to a suitable value. You have to make tests to find optimal settings because the dot gain depends on the printing method and printing surface (paper). The printed module-width is equal to the theoretically optimal module-width reduced by the reduction value.

Note:
With a 2D matrix code, the BWR is applied horizontally and vertically to the modules (or matrix points). A single point or chain of points is reduced by 50% of the BWR on each side. By default connected modules (dots) are only reduced in their outer boundaries. With the 'DRAW_BarWidthReduction_Legacy' option you can specify how connected modules should be treated.
See also:
BCGetBarWidthReduction(), BCGetBarWidthReductionUnit(), BCSetOptions() \param[in] pBarCode Pointer to barcode structure. \param[in] dValue Reduction in given unit (0 ... reset to default ==> no reduction). \param[in] eUnit Reduction unit (valid values are: eMUMM, eMUMils, eMUInch, and eMUPercent).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGetQuality (t_BarCode* pBarCode, HDC hDC, RECT* pRect)
 Returns drawing quality estimate of the barcode (in percent) (Windows only). TBarCode computes the expected barcode quality depending on the used output resolution. This value is a measure for the bar width aberration created by the output resolution of the device context (and therefore of the device itself). The higher the quality value - the better.
Note:
WINDOWS only. \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle of output device. \param[in] pRect IN : Bounding rectangle.
Return values:
LONG   Bar-code quality [0 (unreadable)...100 (perfect)] ----------------------------------------------------------------------------.


ERRCODE BCSetDCConversion (t_BarCode* pBarCode, BOOL bConvertDC)
 Activates or deactivates conversion of Windows GDI drawing context (DC). By default all DCs are internally converted, so that logical units are himetric (1/100 mm). This conversion can be turned off if the DC given to the drawing routines already uses himetrics as logical units. Or you can turn off this conversion to use a DC with custom scaling. \param[in] pBarCode Pointer to barcode structure. \param[in] bConvertDC TRUE if DC should be converted. FALSE if conversion should be turned off.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGetDCConversion (t_BarCode* pBarCode)
 Returns TRUE if Windows GDI device context (DC) conversion is activated. \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   DC conversion is activated. (This is the default setting).
FALSE   DC conversion is deactivated. ----------------------------------------------------------------------------.


BOOL BCGetDrawMode (t_BarCode* pBarCode)
 Gets current method for drawing bars (Windows only). Returns currently adjusted value.
See also:
BCSetDrawMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Best performance method is used (drawing filled rectangles)
false   High quality method is used. This is the default. ----------------------------------------------------------------------------.


ERRCODE BCSetDrawMode (t_BarCode* pBarCode, BOOL bUseGDIRect)
 Selects the method for drawing bars (Windows only). Sets the GDI drawing-method used for painting the bars. TBarCode normally draw bars in high quality mode that bases on specialized GDI-functionality. Some printer drivers do not handle this method correctly (invisible, too short bars or wrong clipping). If this happens activate the conventional method (bars are drawn as filled rectangles). The conventional method may result in decreased barcode quality for devices with low output resolution.
See also:
BCGetDrawMode() \param[in] pBarCode Pointer to barcode structure. \param[in] bUseGDIRect Use GDI DrawRect for drawing. - true: Method with the best performance is used (filled rectangles) - false: Method with highest quality method is used. This is the default.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_DrawMode BCGetDrawModeExt (t_BarCode* pBarCode)
 Gets current method for drawing bars (Windows only). Returns currently adjusted value.
See also:
BCSetDrawModeExt() \param[in] pBarCode Pointer to barcode structure.
Returns:
Current draw mode. ----------------------------------------------------------------------------.


ERRCODE BCSetDrawModeExt (t_BarCode* pBarCode, e_DrawMode eMode)
 Selects the method for drawing bars (Windows only). Sets the GDI drawing-method used for painting the bars.
See also:
BCSetDrawMode(), BCGetDrawModeExt() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode Drawing Mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCDraw (t_BarCode* pBarCode, HDC hDC, RECT* pRect)
 Draws barcode onto the given Windows device context. Draws the barcode onto the given device context. The coordinates of the bounding rectangle defines the barcode dimensions. The coordinates passed in pRect are interpreted in the current mapping mode of the device context. No special coordinate mapping is performed.
See also:
BCDrawCB() for custom drawing functionality.
Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle. \param[in] pRect Bounding rectangle.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCCopyToClipboard (t_BarCode* pBarCode, LONG nWidth, LONG nHeight)
 Copies barcode to the Windows clipboard (Windows only). Copies barcode to the Windows clipboard. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format (EMF) is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected.
Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] nWidth Width of barcode to copy in pixels (of the physical screen). \param[in] nHeight Height of barcode to copy in pixels (of the physical screen).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCCopyToClipboardExA (t_BarCode* pBarCode, HDC hDC, LONG nWidth, LONG nHeight, BOOL fTransparent, LPCSTR szFileName)
 Copies barcode to clipboard (extended version, Windows only). Like BCCopyToClipboard(). In addition, you can specify the device context, the transparency and the background color of the resulting barcode. Optional the barcode can be saved as EMF (Enhanced Meta File) or WMF (Windows meta file). The format is specified through the file extension (.emf or .wmf) of szFileName. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcx", ".png", ".tif", and ".tmp".
Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy, in pixels (of the device context). \param[in] nHeight Height of barcode to copy, in pixels (of the device context). \param[in] fTransparent Barcode transparent or not. - true: Background is not drawn - false: Background is drawn (using background color) \param[in] szFileName Filename the barcode should be written to (NULL for clipboard only).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCCopyToClipboardExW (t_BarCode* pBarCode, HDC hDC, LONG nWidth, LONG nHeight, BOOL fTransparent, LPCWSTR szFileName)
 Copies barcode to clipboard (extended version, Windows only). Like BCCopyToClipboard(). In addition, you can specify the device context, the transparency and the background color of the resulting barcode. Optional the barcode can be saved as EMF (Enhanced Meta File) or WMF (Windows meta file). The format is specified through the file extension (.emf or .wmf) of szFileName. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcx", ".png", ".tif", and ".tmp".
Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy, in pixels (of the device context). \param[in] nHeight Height of barcode to copy, in pixels (of the device context). \param[in] fTransparent Barcode transparent or not. - true: Background is not drawn - false: Background is drawn (using background color) \param[in] szFileName Filename the barcode should be written to (NULL for clipboard only).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCGetEnhMetaFile (t_BarCode* pBarCode, HENHMETAFILE* phEMF, LONG nWidth, LONG nHeight)
 Copies barcode into meta file (Windows only).
Attention:
phEMF must be released with the DeleteEnhMetaFile function if no longer used.
See also:
BCGetEnhMetaFileEx() \param[in] pBarCode Pointer to barcode structure. \param[out] phEMF Meta file handle to be drawn in. \param[in] nWidth Width of barcode to copy. \param[in] nHeight Height of barcode to copy.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCGetEnhMetaFileEx (t_BarCode* pBarCode, HENHMETAFILE* phEMF, HDC hDC, LONG nWidth, LONG nHeight, BOOL fTransparent)
 Copies barcode into meta file (extended version, Windows only).
Attention:
phEMF must be released with the DeleteEnhMetaFile function if no longer used.
See also:
BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[out] phEMF Meta file handle to be drawn in. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy. \param[in] nHeight Height of barcode to copy. \param[in] fTransparent Barcode transparent or not
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageA (t_BarCode* pBarCode, LPCSTR lpszFileName, e_IMType eImageType, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 Saves the barcode to an image-file (Windows only). Saves the barcode to an image-file (format Bmp, Jpg, Png, Eps, Emf...). The values of lXSize and lYSize should be increased, if the barcode is not readable. The values of dXRes and dYRes can affect printing size when printing from graphic- or painting programs. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".
Note:
WINDOWS only
To be able to generate images with colors different from black and white use the function BCSaveImageEx instead.
See also:
BCSaveImageEx(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszFileName Filename \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageW (t_BarCode* pBarCode, LPCWSTR lpszFileName, e_IMType eImageType, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 Saves the barcode to an image-file (Windows only). Saves the barcode to an image-file (format Bmp, Jpg, Png, Eps, Emf...). The values of lXSize and lYSize should be increased, if the barcode is not readable. The values of dXRes and dYRes can affect printing size when printing from graphic- or painting programs. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".
Note:
WINDOWS only
To be able to generate images with colors different from black and white use the function BCSaveImageEx instead.
See also:
BCSaveImageEx(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszFileName Filename \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageExA (t_BarCode* pBarCode, HDC hDC, LPCSTR lpszFileName, e_IMType eImageType, LONG lQuality, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 Saves barcode to an image-file (extended version, Windows only). Saves the content of the barcode object as image-file with respect to a specified device context (if not needed hDC can be set to 0). The values of lXSize and lYSize should be increased, if the barcode is not readable or if the data density is high. The values of dXRes and dYRes can affect the printing size when printing from graphic- or painting programs. The image quality sets the compression algorithm (depending on the image type). With vector-EPS files you can choose between using Windows fonts (nQuality = 0) and using Postscript compatible fonts (nQuality = 1). A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".
Note:
WINDOWS only
Use this function to be able to generate images with colors different from black and white.
See also:
BCSaveImage(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (default: NULL). \param[in] lpszFileName Filename. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (Meaning depends on image type; -1 for default). \param[in] lXSize X-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch}.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageExW (t_BarCode* pBarCode, HDC hDC, LPCWSTR lpszFileName, e_IMType eImageType, LONG lQuality, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 Saves barcode to an image-file (extended version, Windows only). Saves the content of the barcode object as image-file with respect to a specified device context (if not needed hDC can be set to 0). The values of lXSize and lYSize should be increased, if the barcode is not readable or if the data density is high. The values of dXRes and dYRes can affect the printing size when printing from graphic- or painting programs. The image quality sets the compression algorithm (depending on the image type). With vector-EPS files you can choose between using Windows fonts (nQuality = 0) and using Postscript compatible fonts (nQuality = 1). A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".
Note:
WINDOWS only
Use this function to be able to generate images with colors different from black and white.
See also:
BCSaveImage(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (default: NULL). \param[in] lpszFileName Filename. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (Meaning depends on image type; -1 for default). \param[in] lXSize X-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch}.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageToBuffer (t_BarCode* pBarCode, LPBYTE* lpBuffer, e_IMType eImageType, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 The values of XSize and YSize should be increased, if the barcode is not readable or requires a high printing resolution. The values of XRes and YRes can affect the printing size when printing from graphic- or painting programs (but not when printing from the browser!). The buffer will be allocated on the global heap. Retrieve the buffer size in Bytes with GlobalSize((HGLOBAL)GlobalHandle(szBuffer)). It is recommended to lock the buffer before reading with pMem = GlobalLock (hMem) and unlock it afterwards (GlobalUnlock(hMem)). When no longer needed the buffer must be released by calling GlobalFreePtr(buffer) (WINDOWSX.h macro).
Note:
WINDOWS only. This function can be used with a developer license only.
See also:
BCSaveImageToBufferEx() \param[in] pBarCode Pointer to barcode structure. \param[out] lpBuffer Buffer. \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSaveImageToBufferEx (t_BarCode* pBarCode, HDC hDC, LPBYTE* lpBuffer, e_IMType eImageType, LONG lQuality, LONG lXSize, LONG lYSize, DOUBLE dXRes, DOUBLE dYRes)
 Saves barcode as image into a memory buffer (extended version, Windows only). Like BCSaveImageToBuffer() with the additional possibility to specify the image quality. For a description refer to BCSaveImageEx().
Note:
WINDOWS only. This function can be used with a developer license only.
See also:
BCSaveImageToBuffer() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context (default: NULL). \param[out] lpBuffer Buffer. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (meaning depends on image type). \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCIsImageMagickAvailable ()
 Checks whether ImageMagick-Plug-In is available.
Deprecated:
This functions is no longer used because ImageMagick has been replaced. This functions now always returns TRUE (for backwards-compatibility).
See also:
BCBitmapToFile(), BCBitmapToMemory()
Return values:
BOOL   Always TRUE. ----------------------------------------------------------------------------.


ERRCODE BCBitmapToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as an image file. The file name's suffix determines the image format, e.g. 'xxx.gif'. Supported image formats are: BMP, GIF, JPG, PNG and TIF.
All barcodes are supported. Text output is not supported.
See also:
BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCBitmapToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as an image file. The file name's suffix determines the image format, e.g. 'xxx.gif'. Supported image formats are: BMP, GIF, JPG, PNG and TIF.
All barcodes are supported. Text output is not supported.
See also:
BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCBitmapToMemoryA (t_BarCode* pBarCode, VOID* pHandle, LPCSTR pszFormat, INT* pnSize, LPCRECT pRect)
 Writes barcode in an image format to memory block. All barcodes are supported. Text output is not supported.
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] pszFormat The image format ("BMP" , "GIF", "JPG" , "PNG" or "TIF") \param[in,out] pnSize The size of the allocated memory block. Contains the required size after the function call.
Note:
The returned size is the really needed size + 1. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCBitmapToFile() ----------------------------------------------------------------------------.


ERRCODE BCBitmapToMemoryW (t_BarCode* pBarCode, VOID* pHandle, LPCWSTR pszFormat, INT* pnSize, LPCRECT pRect)
 Writes barcode in an image format to memory block. All barcodes are supported. Text output is not supported.
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] pszFormat The image format ("BMP" , "GIF", "JPG" , "PNG" or "TIF") \param[in,out] pnSize The size of the allocated memory block. Contains the required size after the function call.
Note:
The returned size is the really needed size + 1. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCBitmapToFile() ----------------------------------------------------------------------------.


e_PCLMode BCGetPCLMode (const t_BarCode* pBarcode)
 Retrieves the PCL output mode.
See also:
BCSetPCLMode() \param[in] pBarcode Pointer to barcode structure
Returns:
The PCL output mode. ----------------------------------------------------------------------------.


VOID BCSetPCLMode (t_BarCode* pBarcode, e_PCLMode mode)
 Sets the PCL output mode. By default functions, such as BCPCLToFile(), create PCL Level 5 output which includes HP-GL/2 drawing operations. HP-GL/2 is part of PCL Level 5 and thus should be supported by all PCL Level 5 compatible printers. Though, some printers and some conversion tools cannot handle HP-GL/2 instructions correctly.
With this function the HP-GL/2 output generation can be turned off.
But you need to be aware that some barcode types, such as MAXICODE, can only be drawn when with HP-GL/2 enabled.
See also:
BCGetPCLMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] mode The PCL output mode. ----------------------------------------------------------------------------.


ERRCODE BCPCLToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPCLToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPCLToFileExtA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect, BOOL bRelPos)
 Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPCLToFileExtW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect, BOOL bRelPos)
 Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPCLToMemory (t_BarCode* pBarCode, VOID* pHandle, INT nSize, LPCRECT pRect)
 Writes barcode as PCL (Level 5) into memory block. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCPCLToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] nSize Size of memory block as allocated. \param[in] pRect Bounding rectangle [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPCLToMemoryExt (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect, BOOL bRelPos)
 Writes barcode as PCL Level 5 into memory block (extended version). In addition to BCPCLToMemory() the required output resolution can be specified. Beside this, the parameter bRelPos switches between absolute or relative positioning.
The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards. \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call. \param[in] pRect Bounding rectangle [1/1000 mm]. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCPCLToMemory() ----------------------------------------------------------------------------.


ERRCODE BCPDFToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as a PDF file.
\param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPDFToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as a PDF file.
\param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPDFToMemory (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect)
 Writes barcode as PDF into a memory-block
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPDFFragmentToMemory (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect)
 Writes barcode as PDF segment into a memory-block
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPostscriptToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as a Postscript-file. Saves barcode (in EPS-format - Encapsulated Postscript) to a file.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.
See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero top / right specifies barcode dimensions
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPostscriptToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as a Postscript-file. Saves barcode (in EPS-format - Encapsulated Postscript) to a file.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.
See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero top / right specifies barcode dimensions
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPostscriptToMemory (t_BarCode* pBarCode, VOID* pHandle, INT nSize, LPCRECT pRect)
 Writes barcode (Postscript) into memory-block. Writes barcode into the specified memory block. The barcode is represented in vectorized PostScript (no bitmaps!).
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.
See also:
BCPostscriptToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in] nSize Size of memory block as allocated (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCPostscriptToMemoryExt (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect, BOOL bIncludeMacros)
 Writes barcode (Postscript) into memory-block (extended version). Saves barcode in a memory block. The barcode is represented in vectorized PostScript (no bitmaps!). This function works like BCPostscriptToMemory() but allows additional specification of the required output resolution. Beside this it can be selected, if barcode-specific macros are to be included into the generated Postscript code.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.
See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm]. \param[in] bIncludeMacros Exclude or include macro definitions. - true: Postscript Macros are included - false: Postscript Macros are excluded
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCGetPostscriptMacrosA (LPSTR pszMacros, INT* pnSize)
 Returns Postscript macros of the Postscript code as a zero-terminated string. This function is useful when embedding multiple barcodes in a single Postscript document using BCPostscriptToMemoryExt().
The Postscript codes returned by BCPostscriptToMemory() or BCPostscriptToMemoryExt() internally use a series of Postscript macros. These macros are defined at the begin of each barcode. When having several barcodes in a single Postscript document the macros need to be defined only once. To achieve this the Postscript code that defines the macros can be retrieved with this function. The barcodes can then be generated using BCPostscriptToMemoryExt() and setting bIncludeMacros to false. param[in,out] pszMacros Pointer to a memory block. param[in,out] pnSize Size of memory block as allocated. Contains required size after function call.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCGetPostscriptMacrosW (LPWSTR pszMacros, INT* pnSize)
 Returns Postscript macros of the Postscript code as a zero-terminated string. This function is useful when embedding multiple barcodes in a single Postscript document using BCPostscriptToMemoryExt().
The Postscript codes returned by BCPostscriptToMemory() or BCPostscriptToMemoryExt() internally use a series of Postscript macros. These macros are defined at the begin of each barcode. When having several barcodes in a single Postscript document the macros need to be defined only once. To achieve this the Postscript code that defines the macros can be retrieved with this function. The barcodes can then be generated using BCPostscriptToMemoryExt() and setting bIncludeMacros to false. param[in,out] pszMacros Pointer to a memory block. param[in,out] pnSize Size of memory block as allocated. Contains required size after function call.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGetEpsSubstwDeviceFonts (t_BarCode* pBarCode)
 Gets current setting for substitute font names for EPS. Returns currently adjusted value.
See also:
BCSetEpsSubstwDeviceFonts() \param[in] pBarCode Pointer to barcode structure.
Return values:
false   No value set. This is the default
true   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetEpsSubstwDeviceFonts (t_BarCode* pBarCode, BOOL bSubwDevFnts)
 Activates the substitution of font names for EPS. Substitutes Windows font-names with Postscript-compatible fonts in functions BCSaveImage() and BCSaveImageExt() when using EPS Vector format.
See also:
BCGetEpsSubstwDeviceFonts(), BCSaveImage(),BCSaveImageExt() \param[in] pBarCode Pointer to barcode structure. \param[in] bSubstitute Substitute with Postscript fonts. - true: Substitute font-names enabled - false: Do not substitute font-names (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSVGToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as a SVG-file. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCSVGToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSVGToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as a SVG-file. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCSVGToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSVGToMemory (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect)
 Writes barcode (SVG) into memory-block. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.
See also:
BCSVGToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCAIToFileA (t_BarCode* pBarCode, LPCSTR szFilename, LPCRECT pRect)
 Saves barcode as a AI-file. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7
See also:
BCAIToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCAIToFileW (t_BarCode* pBarCode, LPCWSTR szFilename, LPCRECT pRect)
 Saves barcode as a AI-file. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7
See also:
BCAIToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCAIToMemory (t_BarCode* pBarCode, VOID* pHandle, INT* pnSize, LPCRECT pRect)
 Writes barcode (Adobe Illustrator Format) into memory-block. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7
See also:
BCAIToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


fn_DrawRow BCGetFuncDrawRow (t_BarCode* pBarCode)
 Gets call-back function for drawing a single row of a barcode. Returns currently adjusted function pointer.
See also:
BCSetFuncDrawRaw() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawRow   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawRow (t_BarCode* pBarCode, fn_DrawRow fn)
 Sets the callback function for drawing a single row of a barcode. these functions informs TBarCode that drawing of a single barcode row (one row for linear barcodes, multiple rows for 2D or stacked codes) is done by the specified function. The specified function will be called from BCDraw() instead of the built-in row-drawing functionality. Default: no callback function is used.
Use this function to implement your custom drawing routines for specialized output requirements.
See also:
BCGetFuncDrawRow() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


fn_DrawBar BCGetFuncDrawBar (t_BarCode* pBarCode)
 Gets call-back function for drawing a bar. Returns currently adjusted function pointer.
See also:
BCSetFuncDrawBar() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawBar   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawBar (t_BarCode* pBarCode, fn_DrawBar fn)
 Sets call-back function for drawing the bars of a barcode. these functions informs TBarCode that drawing of the bars (for linear barcodes) is done by the specified function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.
See also:
BCGetFuncDrawText() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


fn_DrawColoredBar BCGetFuncDrawColoredBar (t_BarCode* pBarCode)
 Gets call-back function for drawing a colored bar. Returns currently adjusted function pointer.
See also:
BCSetFuncDrawColoredBar() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawColoredBar   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawColoredBar (t_BarCode* pBarCode, fn_DrawColoredBar fn)
 Sets call-back function for drawing colored bars. these functions informs TBarCode that drawing of colored bars (e.g. the Swiss cross in Swiss QR Code) is done by the specified function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.
See also:
BCGetFuncDrawColoredBar() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


fn_DrawTextA BCGetFuncDrawTextA (t_BarCode* pBarCode)
 Gets call-back function for drawing a text Returns currently adjusted function pointer.
See also:
BCSetFuncDrawText() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawText   Otherwise ----------------------------------------------------------------------------.


fn_DrawTextW BCGetFuncDrawTextW (t_BarCode* pBarCode)
 Gets call-back function for drawing a text Returns currently adjusted function pointer.
See also:
BCSetFuncDrawText() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawText   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawTextA (t_BarCode* pBarCode, fn_DrawTextA fn)
ERRCODE BCSetFuncDrawTextW (t_BarCode* pBarCode, fn_DrawTextW fn)
fn_DrawRing BCGetFuncDrawRing (t_BarCode* pBarCode)
 Gets call-back function for drawing a MaxiCode finder ring. Returns currently adjusted function pointer.
See also:
BCSetFuncDrawRing() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawRing   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawRing (t_BarCode* pBarCode, fn_DrawRing fn)
 Sets call-back function for drawing the MaxiCode finder rings. This function informs the TBarCode drawing functions that drawing of the MaxiCode finders is done by a callback function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.
See also:
BCGetFuncDrawRing() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


fn_DrawHexagon BCGetFuncDrawHexagon (t_BarCode* pBarCode)
 Gets call-back function for drawing a MaxiCode hexagon. Returns currently adjusted function pointer.
See also:
BCSetFuncDrawHexagon() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawHexagon   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSetFuncDrawHexagon (t_BarCode* pBarCode, fn_DrawHexagon fn)
 Sets call-back function for drawing the MaxiCode finder rings. This function informs the TBarCode drawing functions that drawing of the MaxiCode hexagons is done by a callback function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.
See also:
BCGetFuncDrawHexagon() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPVOID BCGetCBData (t_BarCode* pBarCode)
 Gets the user-defined data that is passed to the callback functions. More...

VOID BCSetCBData (t_BarCode* pBarCode, LPVOID pData)
 Sets the user-defined data that is passed to the callback functions. More...

ERRCODE BCDrawCB (t_BarCode* pBarCode, HDC hDC, RECT* pRect)
 Callback version of barcode draw function. Call this function instead of BCDraw() if you want to use your own drawing routines (e.g. for generating a barcode on special devices or in special output formats). - fn_DrawRow is used for drawing the bars, see BCSetFuncDrawRow() - fn_DrawBar is used for drawing the bars, see BCSetFuncDrawBar() - fn_DrawText is used for drawing the human readable text, see BCSetFuncDrawText()
Note:
BCDrawCB() can be used only with a developer license. Sample code is available on request: support@tec-it.com
Call-backs are disabled in the demo-version of TBarCode. If you need to try it please contact TEC-IT for a temporary license key. \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (optional, Windows only). \param[in] pRect Bounding rectangle (bar code size). If hDC is NULL, the unit is [0.001 mm]. The coordinates are transformed to an origin of (0,0).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetFuncDrawRow(), BCSetFuncDrawRow(), BCGetFuncDrawBar(), BCSetFuncDrawBar(), BCGetFuncDrawText(), BCSetFuncDrawText(), BCGetCBData(), BCSetCBData() ----------------------------------------------------------------------------.


LPCSTR BCGetMetaDataA (t_BarCode* pBarCode)
 Returns meta-representation of a barcode. This function provides access to the meta-data of the current barcode row (refer to BCSetFuncDrawRow()). The result of this function is only valid, when it is called in the scope of your callback function (set by BCSetFuncDrawRow()).
Note:
Sample code is available on request: support@tec-it.com \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Meta-description of barcode row. ----------------------------------------------------------------------------.


LPCWSTR BCGetMetaDataW (t_BarCode* pBarCode)
 Returns meta-representation of a barcode. This function provides access to the meta-data of the current barcode row (refer to BCSetFuncDrawRow()). The result of this function is only valid, when it is called in the scope of your callback function (set by BCSetFuncDrawRow()).
Note:
Sample code is available on request: support@tec-it.com \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Meta-description of barcode row. ----------------------------------------------------------------------------.


COLORREF BCGetColorFromMetaData (t_BarCode* pBarCode, INT chMeta)
 Converts a single meta character returned by BCGetMetaData into a corresponding color value. If the given meta character is a placeholder for a color value, the corresponding RGB color value is returned. For all other meta characters the function returns the invalid color value BC_USEDEFAULT (0xFFFFFFFF) \param[in] pBarCode Pointer to barcode structure. \param[in] chMeta Meta character.
Return values:
COLORREF   a valid color value if meta character stands for a color value or otherwise BC_USEDEFAULT (0xFFFFFFFF) ----------------------------------------------------------------------------.


VOID BCGetErrorTextA (ERRCODE eCode, LPSTR szText, size_t nSize)
 Returns error text to given error code. Returns the corresponding error text for a given error code. The returned string will be null-terminated.
Note:
WINDOWS only \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.


VOID BCGetErrorTextW (ERRCODE eCode, LPWSTR szText, size_t nSize)
 Returns error text to given error code. Returns the corresponding error text for a given error code. The returned string will be null-terminated.
Note:
WINDOWS only \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.


VOID BCGetErrorTextExtA (t_BarCode* pBarCode, ERRCODE eCode, LPSTR szText, size_t nSize)
 Returns extended error text to given error code. Returns the detailed error text for a given error code. The returned string will be null-terminated and contains the error code, the error description and the source of the error (character position) if available.
Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.


VOID BCGetErrorTextExtW (t_BarCode* pBarCode, ERRCODE eCode, LPWSTR szText, size_t nSize)
 Returns extended error text to given error code. Returns the detailed error text for a given error code. The returned string will be null-terminated and contains the error code, the error description and the source of the error (character position) if available.
Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.


INT BCGetInvalidDataPos (t_BarCode* pBarCode)
 Gets position of invalid character in input data. If BCCheck() or BCCreate() fails, this function allows you to determine the position of the first invalid character within the barcode text (see BCSetText()). Note: The returned position may not be accurate when using Escape Sequences in the input data. \param[in] pBarCode Pointer to barcode structure.
Return values:
INT   Zero-based index of invalid character. -1 if not available ----------------------------------------------------------------------------.


LONG BCGet_PDF417_Rows (t_BarCode* pBarCode)
 Gets number of PDF417 rows. Returns currently adjusted value.
See also:
BCSet_PDF417_Rows() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
3...90   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_Rows (t_BarCode* pBarCode, LONG nRows)
 Sets number of PDF417 rows. Sets the number of graphic rows for PDF417 to a fixed value. If not set, the number of rows is calculated automatically by TBarCode (this is the default).
See also:
BCGet_PDF417_Rows() \param[in] pBarCode Pointer to barcode structure. \param[in] nRows Number of rows [3..90] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_Columns (t_BarCode* pBarCode)
 Gets number of PDF417 columns. Returns currently adjusted value.
See also:
BCSet_PDF417_Columns() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...30   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_Columns (t_BarCode* pBarCode, LONG nColumns)
 Sets the number of PDF417 columns. Sets the number of graphic columns [1...30] for PDF417 to a fixed value. If not set, the number of columns is calculated automatically by TBarCode (this is the default).
See also:
BCGet_PDF417_Columns() \param[in] pBarCode Pointer to barcode structure. \param[in] nColumns Number of columns [1..30] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_ECLevel (t_BarCode* pBarCode)
 Gets current PDF417 error correction level. Returns currently adjusted value.
See also:
BCSet_PDF417_ECLEvel() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
0...8   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_ECLevel (t_BarCode* pBarCode, LONG nLevel)
 Sets PDF417 error correction level. Set the "Error Correction Level" for PDF417 to a fixed value. Possible values are [0...8] where 0 means only error recognition (no EC) and 8 means the highest level of EC. If not set, the error correction level is chosen automatically by TBarCode.
See also:
BCGet_PDF417_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] nLevel Error correction level [0..8] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_RowHeight (t_BarCode* pBarCode)
 Gets PDF417 row-height. Returns currently adjusted value.
See also:
BCSet_PDF417_RowHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_RowHeight (t_BarCode* pBarCode, LONG nHeight)
 Sets PDF417 row height to a fixed value. Sets the height of a PDF417 row tow a fixed value [1/1000 mm]. If not set, the height is calculated automatically by TBarCode with respect to the bounding rectangle passed to BCDraw (..).
Note:
If set, ensure that the bounding rectangle is big enough to avoid clipping.
See also:
BCGet_PDF417_RowHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_PDF417_RowColRatioA (t_BarCode* pBarCode)
 Gets PDF417 row to column ratio. Returns currently adjusted value.
See also:
BCSet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise "rows:columns" ----------------------------------------------------------------------------.


LPCWSTR BCGet_PDF417_RowColRatioW (t_BarCode* pBarCode)
 Gets PDF417 row to column ratio. Returns currently adjusted value.
See also:
BCSet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise "rows:columns" ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_RowColRatioA (t_BarCode* pBarCode, LPCSTR szRatio)
 Sets PDF417 row to column ratio to a fixed value. Sets the ratio between PDF417-rows and PDF417-columns. Does only work, if neither the value of PDF417-rows (BCSet_PDF417_Rows()) nor PDF417-columns (BCSet_PDF417_Columns()) are set to a constant value. If not set, the row:column ratio is chosen automatically by TBarCode (default).
See also:
BCGet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Ratio-string "rows:columns" in the form "3:5" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_RowColRatioW (t_BarCode* pBarCode, LPCWSTR szRatio)
 Sets PDF417 row to column ratio to a fixed value. Sets the ratio between PDF417-rows and PDF417-columns. Does only work, if neither the value of PDF417-rows (BCSet_PDF417_Rows()) nor PDF417-columns (BCSet_PDF417_Columns()) are set to a constant value. If not set, the row:column ratio is chosen automatically by TBarCode (default).
See also:
BCGet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Ratio-string "rows:columns" in the form "3:5" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_CodeWords (t_BarCode* pBarCode)
 Gets number of PDF417 code words. Gets number of PDF417 code words.
Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of used PDF417 code words ----------------------------------------------------------------------------.


e_PDFMode BCGet_PDF417_EncodingMode (t_BarCode* pBarCode)
 Gets the current PDF417 encoding mode. Gets the current PDF417 encoding mode, which can be default or binary. \param[in] pBarCode Pointer to barcode structure.
Return values:
e_PDFMode   The PDF417 encoding mode ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_EncodingMode (t_BarCode* pBarCode, e_PDFMode eMode)
 Sets PDF417 encoding mode. Sets the PFD417 encoding mode. If the mode is set to default the generation algorithm tries to find an optimum encoding. If binary data is encoded, binary encoding is most of the time the better choice.
See also:
BCGet_PDF417_EncodationMode() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode encoding mode. Can be default or binary.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_SegIndex (t_BarCode* pBarCode)
 Gets current Macro-PDF417 segment index. Returns currently adjusted value.
See also:
BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...99999   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_SegIndex (t_BarCode* pBarCode, LONG nSegInx)
 Sets Macro-PDF417 segment index. Index of the actual data segment in the symbol chain. Begin with 1 and increase for each additional symbol in the data chain.
Macro PDF will be enabled only if the Segment index and the File ID are set. Default: Macro PDF is disabled.
PDF417 allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry.
The so called "Macro PDF Control Block" carries additional control information that enables the reading device to reconstruct the data of all symbols in the correct order Macro PDF functionality is also available for MicroPDF417.
Note:
When reading the encoded data with a bar code scanner, the index may be zero-based.
See also:
BCGet_PDF417_SegIndex() BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegInx Segment index [1...99999] (reset to default/disable = -1).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_PDF417_FileIDA (t_BarCode* pBarCode)
 Gets Macro PDF417 FileID. Returns currently adjusted value.
See also:
BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_PDF417_FileIDW (t_BarCode* pBarCode)
 Gets Macro PDF417 FileID. Returns currently adjusted value.
See also:
BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_FileIDA (t_BarCode* pBarCode, LPCSTR szFileID)
 Sets Macro PDF417 FileID. The File-ID identifies all symbols, which belong to the same data chain. For reassembling, all data blocks having the same File-ID are concatenated in the order of increasing segment index.
Macro PDF will be enabled only if the Segment-index and the File-ID are set. Default: MacroPDF is disabled.
See also:
BCGet_PDF417_FileID() BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileID File ID string (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_FileIDW (t_BarCode* pBarCode, LPCWSTR szFileID)
 Sets Macro PDF417 FileID. The File-ID identifies all symbols, which belong to the same data chain. For reassembling, all data blocks having the same File-ID are concatenated in the order of increasing segment index.
Macro PDF will be enabled only if the Segment-index and the File-ID are set. Default: MacroPDF is disabled.
See also:
BCGet_PDF417_FileID() BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileID File ID string (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_PDF417_SegLast (t_BarCode* pBarCode)
 Returns if this is the last symbol within a Macro PDF417 symbol-chain. Returns currently adjusted value.
See also:
BCSet_PDF417_SegLast() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Current symbol is the last symbol within this chain
false   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_SegLast (t_BarCode* pBarCode, BOOL bSegLast)
 Marks the actual symbol as the last one within the Macro PDF417 symbol chain. Marks the current symbol as the last one within the actual symbol chain. This feature is used when generating Macro PDF417. Some applications require the segment count to be set for identifying the last bar code in the symbol chain.
See also:
BCGet_PDF417_SegLast() BCSet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure. \param[in] bSegLast Is last segment.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_PDF417_FileNameA (t_BarCode* pBarCode)
 Gets Macro PDF417 File Name. Returns currently adjusted value.
See also:
BCSet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_PDF417_FileNameW (t_BarCode* pBarCode)
 Gets Macro PDF417 File Name. Returns currently adjusted value.
See also:
BCSet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_FileNameA (t_BarCode* pBarCode, LPCSTR szFileName)
 Sets Macro PDF417 File Name (optional). Specifies file name (alphanumeric, variable length)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileName File name (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_FileNameW (t_BarCode* pBarCode, LPCWSTR szFileName)
 Sets Macro PDF417 File Name (optional). Specifies file name (alphanumeric, variable length)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileName File name (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_SegCount (t_BarCode* pBarCode)
 Gets Macro PDF417 segment count. Returns currently adjusted value.
See also:
BCGet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...99999   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_SegCount (t_BarCode* pBarCode, LONG nSegCount)
 Sets Macro PDF417 segment count (optional). Specifies total number of bar codes in the symbol chain (numeric).
Optional field to be encoded into the Macro PDF control header block. Some applications require this field to be set (instead or in combination with the last segment marker).
See also:
BCGet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegCount Segment count [1...99999] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_TimeStamp (t_BarCode* pBarCode)
 Gets Macro PDF417 Time Stamp. Returns currently adjusted value.
See also:
BCSet_PDF417_TimeStamp() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_TimeStamp (t_BarCode* pBarCode, LONG nTimeStamp)
 Sets Macro PDF417 Time Stamp (optional). Specifies time stamp (elapsed time in seconds since January 1, 1970 00:00 GMT) (numeric)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCSet_PDF417_TimeStamp() \param[in] pBarCode Pointer to barcode structure. \param[in] nTimeStamp Time stamp (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_PDF417_SenderA (t_BarCode* pBarCode)
 Gets Macro PDF417 Sender. Returns currently adjusted value.
See also:
BCSet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_PDF417_SenderW (t_BarCode* pBarCode)
 Gets Macro PDF417 Sender. Returns currently adjusted value.
See also:
BCSet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_SenderA (t_BarCode* pBarCode, LPCSTR szSender)
 Sets Macro PDF417 Sender (optional). Specifies sender (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure. \param[in] szSender Sender (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_SenderW (t_BarCode* pBarCode, LPCWSTR szSender)
 Sets Macro PDF417 Sender (optional). Specifies sender (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure. \param[in] szSender Sender (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_PDF417_AddresseeA (t_BarCode* pBarCode)
 Gets Macro PDF417 Addressee. Returns currently adjusted value
See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_PDF417_AddresseeW (t_BarCode* pBarCode)
 Gets Macro PDF417 Addressee. Returns currently adjusted value
See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_AddresseeA (t_BarCode* pBarCode, LPCSTR szAddressee)
 Sets Macro PDF417 Addressee (optional). Specifies addressee (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure. \param[in] szAddressee ///< IN : Addressee (reset to default = null)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_AddresseeW (t_BarCode* pBarCode, LPCWSTR szAddressee)
 Sets Macro PDF417 Addressee (optional). Specifies addressee (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure. \param[in] szAddressee ///< IN : Addressee (reset to default = null)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_FileSize (t_BarCode* pBarCode)
 Gets Macro PDF417 File Size. Returns currently adjusted value
See also:
BCSet_PDF417_FileSize() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_FileSize (t_BarCode* pBarCode, LONG nFileSize)
 Sets Macro PDF417 File Size (optional). Specifies total number of Bytes encoded (numeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_FileSize() \param[in] pBarCode Pointer to barcode structure. \param[in] nFileSize File Size (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_PDF417_CheckSum (t_BarCode* pBarCode)
 \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_PDF417_CheckSum (t_BarCode* pBarCode, LONG nCheckSum)
 Sets Macro PDF417 Check Sum (optional). Sets 16-Bit CRC checksum (using CCITT-16 polynomial x16 + x12 + x5 + 1 over the entire data)
Optional field to be encoded into the Macro PDF control header block. Default: unused.
See also:
BCGet_PDF417_CheckSum() \param[in] pBarCode Pointer to barcode structure. \param[in] nCheckSum Check sum (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_MPDFMode BCGet_MPDF417_Mode (t_BarCode* pBarCode)
 Gets Micro PDF encoding mode. Returns currently adjusted value.
See also:
BCSet_MPDF417_Mode() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMPDFPr_Default   No value set. This is the default
e_MPDFMode   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_MPDF417_Mode (t_BarCode* pBarCode, e_MPDFMode eMode)
 Sets Micro PDF encoding mode. This option adjusts how data is encoded as MicroPDF417 and if the scanner should emulate Code-128. In most cases the Default mode is the best choice. Often the scanner hardware does not support all modes listed here - check with your reading device first. If not set explicitly, TBarCode analyzes input data. Text, numeric or binary compaction mode will be switched automatically in order to produce the smallest possible symbol.
See also:
BCGet_MPDF417_Mode() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode Encoding mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_MPDFVers BCGet_MPDF417_Version (t_BarCode* pBarCode)
 Gets Micro PDF Version (symbol size). Returns currently adjusted value.
See also:
BCSet_MPDF417_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMPDFVer_Default   No value set. This is the default
e_MPDFVers   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_MPDF417_Version (t_BarCode* pBarCode, e_MPDFVers eVersion)
 Sets Micro PDF Version (symbol size). The MicroPDF Version adjusts the number of data-columns and data-rows of the symbol; therefore it specifies the size of the symbol. You can specify versions between 1x11 to 4x44 (horizontal data-columns x vertical data-rows). If not set explicitly, TBarCode generates the smallest possible symbol by analyzing the input data and choosing the suitable version automatically.
See also:
BCGet_MPDF417_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR* BCGet_MPDF417_VersionsA ()
 Returns all possible MicroPDF417 versions (symbol sizes) in an array.
See also:
BCGet_MPDF417_VersionCount()
Return values:
LPCSTR   * String array (size is available via BCGet_MPDF417_VersionCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGet_MPDF417_VersionsW ()
 Returns all possible MicroPDF417 versions (symbol sizes) in an array.
See also:
BCGet_MPDF417_VersionCount()
Return values:
LPCSTR   * String array (size is available via BCGet_MPDF417_VersionCount()) ----------------------------------------------------------------------------.


LONG BCGet_MPDF417_VersionCount ()
 Returns number of implemented MicroPDF417 versions.
See also:
BCGet_MPDF417_Versions()
Return values:
LONG   Number of supported MicroPDf417 versions ----------------------------------------------------------------------------.


LONG BCGet_Maxi_Mode (t_BarCode* pBarCode)
 Gets current encoding mode for MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
See also:
BCSet_Maxi_Mode()
Return values:
4   This is the default
>0   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_Mode (t_BarCode* pBarCode, LONG nMode)
 Specifies the operating mode for encoding data. Specifies the operating mode for encoding data. Default is Mode 4. \param[in] pBarCode Pointer to barcode structure. \param[in] nMode Used encoding mode [2..5] - Mode 2: SCM Numeric - Structured Carrier Message (Postal Code only numeric, up to 9 digits) - Mode 3: SCM Alphanumeric - Structured Carrier Message (Postal Code alphanumeric, up to 6 characters) - Mode 4: For numeric and alphanumeric character sequences (Standard Error Correction). This is the default - Mode 5: Full EEC - like Mode 4, but with Enhanced Error Correction (safer, but less usable data)
See also:
BCGet_Maxi_Mode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_Maxi_AppendSum (t_BarCode* pBarCode)
 Gets total number of symbols in "Structured Append" mode of MaxiCode. Returns currently adjusted value \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..8   ] Otherwise
See also:
BCSet_Maxi_Append() ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_Append (t_BarCode* pBarCode, LONG nSum, LONG nIndex)
 Activates MaxiCode "Structured Append" feature. MaxiCode allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information that enables the reading device to reconstruct the data of all symbols in the correct order.
these functions sets the total number of symbols and the index of the actual MaxiCode symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Total number of symbols [2..8]. \param[in] nIndex Index of current symbol [1..8].
See also:
BCGet_Maxi_Append()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_Maxi_AppendIndex (t_BarCode* pBarCode)
 Gets index of current symbol in "Structured Append" mode of MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1..8   ] Otherwise
See also:
BCSet_Maxi_Append() ----------------------------------------------------------------------------.


LONG BCGet_Maxi_UnderCut (t_BarCode* pBarCode)
 Gets current undercut value of MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
See also:
BCSet_Maxi_UnderCut()
Return values:
-1   No value set. This is the default and corresponds to 75% undercut.
1..100   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_UnderCut (t_BarCode* pBarCode, LONG nUndercut)
 Specifies the undercut value of MaxiCode. This value influences the diameter of the barcode items (which are small hexagons in case of MaxiCode). Modify this value, if reading problems with the used output medium occur.
Note:
Default value: -1 (75% undercut) \param[in] pBarCode Pointer to barcode structure. \param[in] nUndercut Undercut in percent [1..100].
See also:
BCGet_Maxi_UnderCut()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_Maxi_UsePreamble (t_BarCode* pBarCode)
 Determines whether the usage of the "Preamble" is activated. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Preamble is activated
false   Preamble is not activated. This is the default
See also:
BCGSt_Maxi_UsePreamble() ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_UsePreambleA (t_BarCode* pBarCode, BOOL bUse, LPCSTR szDate)
 Activates the usage of the "Preamble" in MaxiCode. Specifies whether preamble functionality ("[)>..." will be encoded in the symbol header) should be activated. This is relevant in particular Open System Standards only. Refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] bUse Use preamble ("[)>..."). - true: Activate preamble - false: Preamble is not used \param[in] szDate Specifies the value for the year ["00"..."99"] (the last two digits - the century - are used). This date will be inserted automatically into the data stream on a predefined place (before the encoded data). The parameter bUse must be set to true!
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGet_Maxi_UsePreamble() ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_UsePreambleW (t_BarCode* pBarCode, BOOL bUse, LPCWSTR szDate)
 Activates the usage of the "Preamble" in MaxiCode. Specifies whether preamble functionality ("[)>..." will be encoded in the symbol header) should be activated. This is relevant in particular Open System Standards only. Refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] bUse Use preamble ("[)>..."). - true: Activate preamble - false: Preamble is not used \param[in] szDate Specifies the value for the year ["00"..."99"] (the last two digits - the century - are used). This date will be inserted automatically into the data stream on a predefined place (before the encoded data). The parameter bUse must be set to true!
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGet_Maxi_UsePreamble() ----------------------------------------------------------------------------.


LPCSTR BCGet_Maxi_PreambleDateA (t_BarCode* pBarCode)
 Returns the current date encoded in the MaxiCode preamble. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
00...99   ] Otherwise
See also:
BCSet_Maxi_UsePreamble() ----------------------------------------------------------------------------.


LPCWSTR BCGet_Maxi_PreambleDateW (t_BarCode* pBarCode)
 Returns the current date encoded in the MaxiCode preamble. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
00...99   ] Otherwise
See also:
BCSet_Maxi_UsePreamble() ----------------------------------------------------------------------------.


LPCSTR BCGet_Maxi_SCMServClassA (t_BarCode* pBarCode)
 Gets service class of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
See also:
BCSet_Maxi_SCM()
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_Maxi_SCMServClassW (t_BarCode* pBarCode)
 Gets service class of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
See also:
BCSet_Maxi_SCM()
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise ----------------------------------------------------------------------------.


LPCSTR BCGet_Maxi_SCMCountryCodeA (t_BarCode* pBarCode)
 Gets country code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.


LPCWSTR BCGet_Maxi_SCMCountryCodeW (t_BarCode* pBarCode)
 Gets country code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.


LPCSTR BCGet_Maxi_SCMPostalCodeA (t_BarCode* pBarCode)
 Gets postal code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
LPCSTR   See BCSet_Maxi_SCM()
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.


LPCWSTR BCGet_Maxi_SCMPostalCodeW (t_BarCode* pBarCode)
 Gets postal code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
LPCSTR   See BCSet_Maxi_SCM()
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_SCMA (t_BarCode* pBarCode, LPCSTR szServiceClass, LPCSTR szCountryCode, LPCSTR szPostalCode)
 Set MaxiCode structured carrier message (SCM). For a detailed description refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] szServiceClass Service class ["000"..."999"]. Specify the Service Class. Used in the modes 2 and 3 (SCM). \param[in] szCountryCode Country Code ["000"..."999"]. Used in the modes 2 and 3 (SCM). \param[in] szPostalCode The Postal Code - used in the modes 2 and 3 (SCM - " Structured Carrier Message"). String with altogether 9 digits (or other characters), depends on MAXI_Mode.
See also:
BCGet_Maxi_SCMServClass(), BCGet_Maxi_SCMCountryCode(), BCGet_Maxi_SCMPostalCode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_Maxi_SCMW (t_BarCode* pBarCode, LPCWSTR szServiceClass, LPCWSTR szCountryCode, LPCWSTR szPostalCode)
 Set MaxiCode structured carrier message (SCM). For a detailed description refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] szServiceClass Service class ["000"..."999"]. Specify the Service Class. Used in the modes 2 and 3 (SCM). \param[in] szCountryCode Country Code ["000"..."999"]. Used in the modes 2 and 3 (SCM). \param[in] szPostalCode The Postal Code - used in the modes 2 and 3 (SCM - " Structured Carrier Message"). String with altogether 9 digits (or other characters), depends on MAXI_Mode.
See also:
BCGet_Maxi_SCMServClass(), BCGet_Maxi_SCMCountryCode(), BCGet_Maxi_SCMPostalCode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_DMSizes BCGet_DM_Size (t_BarCode* pBarCode)
 Gets currently adjusted Data Matrix symbol size. Returns currently adjusted value.
See also:
BCSet_DM_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDMSz_Default   No value set. This is the default (TBarCode determines the optimal symbol size automatically)
e_DMSizes   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_DM_Size (t_BarCode* pBarCode, e_DMSizes eSize)
 Sets Data Matrix symbol size. Specifies the size of the symbol. The size is given in rows and columns and can be between 10 x 10 and 144 x 144 for squares or 8 x 18 and 26 x 64 for rectangles. The Data Matrix Rectangular Extension (DMRE) specifies the matrix range from 8 x 48 to 26 x 64.
Note:
Each matrix size has a limited data capacity. If the amount of data cannot be encoded with the selected matrix, an error will be raised. If no fixed size is selected TBarCode computes and selects the minimal required size of the symbol automatically.
See also:
BCGet_DM_Size() BCSet_DM_Rectangular() \param[in] pBarCode Pointer to barcode structure. \param[in] eSize Bar-code size enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_DM_Rectangular (t_BarCode* pBarCode)
 Gets if rectangular Data Matrix sizes are preferred. Returns currently adjusted value.
See also:
BCSet_DM_Rectangular() \param[in] pBarCode Pointer to barcode structure.
Return values:
false   Square sizes are preferred. This is the default
true   Rectangular sizes are preferred. ----------------------------------------------------------------------------.


ERRCODE BCSet_DM_Rectangular (t_BarCode* pBarCode, BOOL bRect)
 Switches between square or rectangular Data Matrix symbols. Per default TBarCode computes square Data Matrix symbols. Change this behavior with this function.
See also:
BCGet_DM_Rectangular() BCSet_DM_Size() \param[in] pBarCode Pointer to barcode structure. \param[in] bRect Rectangular symbols preferred. - true: Generate rectangular symbols - false: Generate square symbols (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_DMFormat BCGet_DM_Format (t_BarCode* pBarCode)
 Gets the current Data Matrix Encoding Format. Returns currently adjusted value
See also:
BCSet_DM_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDMPr_Default   This is the default
e_DMFormat   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_DM_Format (t_BarCode* pBarCode, e_DMFormat eFormat)
 Specifies Data Matrix encoding format. Specifies the generated code format. Per default TBarCode uses the default encoding scheme.
See also:
BCGet_DM_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Data Matrix format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_DM_EnforceBinaryEncoding (t_BarCode* pBarCode)
 Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE
See also:
BCSet_DM_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.


ERRCODE BCSet_DM_EnforceBinaryEncoding (t_BarCode* pBarCode, BOOL bEnforceBinary)
 Determines whether Data Matrix shall be encoded in binary mode or not.
Note:
Binary mode usually is faster but produces bigger symbols than text mode
See also:
BCGet_DM_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_DM_AppendSum (t_BarCode* pBarCode)
 Gets the adjusted total number of symbols in Data Matrix Structured Append mode. Returns currently adjusted value
See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
2..16   ] Otherwise ----------------------------------------------------------------------------.


LONG BCGet_DM_AppendIndex (t_BarCode* pBarCode)
 Gets the current index of the symbol in Data Matrix Structured Append mode. Returns currently adjusted value.
See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
1..16   ] Otherwise ----------------------------------------------------------------------------.


LONG BCGet_DM_AppendFileID (t_BarCode* pBarCode)
 Gets the adjusted File-ID in Data Matrix Structured Append mode. Returns currently adjusted value.
See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
LONG   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_DM_Append (t_BarCode* pBarCode, LONG nSum, LONG nIndex, LONG nFileID)
 Activates Data Matrix "Structured Append" mode. Data Matrix allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. This function sets the total number of symbols and the index of the actual Data Matrix symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.
Note:
All symbols within a symbol chain must be identified by a unique File-ID.
See also:
BCGet_DM_AppendSum(), BCGet_DM_AppendIndex(), BCGet_DM_AppendFileID() \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Number of symbols [2..16] (reset to default/disable = -1). \param[in] nIndex Index of symbol [1..16]. \param[in] nFileID File ID (must be the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BC_DM_IsAppendAllowed (e_DMFormat eFormat)
 Returns if structured append is allowed depending on given format. Returns: TRUE if append is allowed, otherwise FALSE.

LPCSTR* BCGetDataMatrixSizesA ()
 Returns implemented Data Matrix symbol sizes. Returns all possible Data Matrix symbol-sizes in an array.
See also:
BCGetDataMatrixSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetDataMatrixSizesCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGetDataMatrixSizesW ()
 Returns implemented Data Matrix symbol sizes. Returns all possible Data Matrix symbol-sizes in an array.
See also:
BCGetDataMatrixSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetDataMatrixSizesCount()) ----------------------------------------------------------------------------.


LONG BCGetDataMatrixSizesCount ()
 Returns the number of supported Data Matrix symbol-sizes. Returns the number of possible symbol sizes for Data Matrix.
See also:
BCGetDataMatrixSizes()
Return values:
LONG   Number of supported Data Matrix symbol sizes ----------------------------------------------------------------------------.


e_DMSizes* BCGetDataMatrixSizeListForType (e_BarCType eBCType)
 Returns implemented Data Matrix symbol sizes for given barcode type. Returns all possible Data Matrix symbol sizes for given barcode type in an array.
Remarks:
Background: Some barcode types base on Data Matrix (e.g. CMDM Mailmark) but use only a subset of the sizes available for Data Matrix.
If barcode type does not base on Data Matrix an empty list is returned.
See also:
BCGetDataMatrixSizesCount()
Return values:
e_DMSizes   * array of size enumerations (size is available via BCGetDataMatrixSizesCountExt()) ----------------------------------------------------------------------------.


LONG BCGetDataMatrixSizesCountForType (e_BarCType eBCType)
 Returns the number of supported Data Matrix symbol-sizes for of given barcode type. Returns the number of possible symbol sizes for Data Matrix for given barcode type.
Remarks:
Background: Some barcode types base on Data Matrix (e.g. CMDM Mailmark) but use only a subset of the sizes available for Data Matrix.
If barcode type does not base on Data Matrix '0' is returned.
See also:
BCGetDataMatrixSizes()
Return values:
LONG   Number of supported Data Matrix symbol sizes ----------------------------------------------------------------------------.


e_AztecSizes BCGet_Aztec_Size (t_BarCode* pBarCode)
 Gets currently adjusted Aztec Code symbol size. Returns currently adjusted value.
See also:
BCSet_Aztec_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eAztecSz_Default   No value set. This is the default (TBarCode determines the optimal symbol size automatically)
e_AztecSizes   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_Size (t_BarCode* pBarCode, e_AztecSizes eSize)
 Sets Aztec Code symbol size. Specifies the size of the symbol. The size is given in rows and columns and can be between 15 x 15 and 151 x 151. If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.
Note:
The sizes eAztecSz_19x19_Rd, eAztecSz_23x23_Rd, eAztecSz_27x27_Rd are specially used for reader programming
See also:
BCGet_Aztec_Size() \param[in] pBarCode Pointer to barcode structure. \param[in] eSize Bar-code size enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_Aztec_EnforceBinaryEncoding (t_BarCode* pBarCode)
 Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE
See also:
BCSet_Aztec_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_EnforceBinaryEncoding (t_BarCode* pBarCode, BOOL bEnforceBinary)
 Determines whether Aztec Code shall be encoded in binary mode or not.
Note:
Binary mode usually is faster but produces bigger symbols than text mode
See also:
BCGet_Aztec_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_AztecFormat BCGet_Aztec_Format (t_BarCode* pBarCode)
 Gets the current Aztec Code Encoding Format. Returns currently adjusted value
See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eAztecFm_Default   This is the default
e_AztecFormat   Otherwise ----------------------------------------------------------------------------.


LPCSTR BCGet_Aztec_FormatSpecifierA (t_BarCode* pBarCode)
 Gets the current Aztec Code Encoding Format specifier for industry format. Returns currently adjusted value
See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No format specifier. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_Aztec_FormatSpecifierW (t_BarCode* pBarCode)
 Gets the current Aztec Code Encoding Format specifier for industry format. Returns currently adjusted value
See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No format specifier. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_FormatA (t_BarCode* pBarCode, e_AztecFormat eFormat, LPCSTR szFormatSpecifier)
 Specifies Aztec Code encoding format. Specifies the encoding format (standard, GS1 or industry). Default is eAztecFm_Default (standard format).
See also:
BCGet_Aztec_Format(), BCGet_Aztec_FormatSpecifier() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Aztec Code format. \param[in] szFormatSpecifier Format specifier for industry format. Consist of 1 letter (upper or lower) or 2 digits. This parameter is ignored for other code formats.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_FormatW (t_BarCode* pBarCode, e_AztecFormat eFormat, LPCWSTR szFormatSpecifier)
 Specifies Aztec Code encoding format. Specifies the encoding format (standard, GS1 or industry). Default is eAztecFm_Default (standard format).
See also:
BCGet_Aztec_Format(), BCGet_Aztec_FormatSpecifier() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Aztec Code format. \param[in] szFormatSpecifier Format specifier for industry format. Consist of 1 letter (upper or lower) or 2 digits. This parameter is ignored for other code formats.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_Aztec_ErrorCorrection (t_BarCode* pBarCode)
 Gets the number of error correction codewords in percent of the symbol size Returns currently adjusted value
See also:
BCSet_Aztec_ErrorCorrection() \param[in] pBarCode Pointer to barcode structure.
Return values:
0..99  
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_ErrorCorrection (t_BarCode* pBarCode, LONG nErrorCorrection)
 Sets the number of error correction codewords in percent (from 0 to 99) of the symbol size.
Note:
By default the error correction level is 23%.
3 additional check words are added for error detection.
See also:
BCGet_Aztec_ErrorCorrection() \param[in] pBarCode Pointer to barcode structure. \param[in] nErrorCorrection level of error correction in percent (default is 23).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_Aztec_RuneMode (t_BarCode* pBarCode)
 Determines whether the symbol is in Aztec Rune Mode. Returns currently adjusted value
See also:
BCSet_Aztec_RuneMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   symbol is in Aztec Rune mode (numbers from 0 to 255)
FALSE   symbol is in Aztec Code mode ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_RuneMode (t_BarCode* pBarCode, BOOL bRuneMode)
 Determines whether symbol shall be encoded in Aztec Rune mode.
Note:
Aztec Runes are special Aztec Codes without data section.
Aztec Runes can encode values from 0 to 255
See also:
BCGet_Aztec_RuneMode() \param[in] pBarCode Pointer to barcode structure. \param[in] bRuneMode activate Aztec Rune mode (TRUE) or deactivate it (FALSE)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_Aztec_AppendActive (t_BarCode* pBarCode)
 Determines whether the structured append mode is active. Returns TRUE if structured append mode is active, otherwise FALSE
See also:
BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   if structured append mode is active
FALSE   if structured append mode is inactive (default) ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_AppendActive (t_BarCode* pBarCode, BOOL bActivate)
 Activates/Deactivates Aztec Code "Structured Append" mode. To set the data for structurer Aztec Code allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. This function activates or deactivates the structured append mode. To change the structured append data use function BCSet_Aztec_AppendData. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.
Note:
To change the settings of structured append mode call function BCSet_Aztec_AppendData.
See also:
BCSet_Aztec_AppendData(), BCGet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] bActivate Determines if structured append mode should be activated (with TRUE) or deactivated (with FALSE)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


CHAR BCGet_Aztec_AppendTotalA (t_BarCode* pBarCode)
 Gets the adjusted total number of symbols in the Aztec Code Structured Append mode. Returns currently adjusted value
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.


WCHAR BCGet_Aztec_AppendTotalW (t_BarCode* pBarCode)
 Gets the adjusted total number of symbols in the Aztec Code Structured Append mode. Returns currently adjusted value
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.


CHAR BCGet_Aztec_AppendIndexA (t_BarCode* pBarCode)
 Gets the current index of the symbol in Aztec Code Structured Append mode. Returns currently adjusted value.
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.


WCHAR BCGet_Aztec_AppendIndexW (t_BarCode* pBarCode)
 Gets the current index of the symbol in Aztec Code Structured Append mode. Returns currently adjusted value.
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.


LPCSTR BCGet_Aztec_AppendMessageIDA (t_BarCode* pBarCode)
 Gets the adjusted Message-ID in Aztec Code Structured Append mode. Returns currently adjusted value.
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Message-ID set. This is the default.
LPCSTR   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_Aztec_AppendMessageIDW (t_BarCode* pBarCode)
 Gets the adjusted Message-ID in Aztec Code Structured Append mode. Returns currently adjusted value.
See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Message-ID set. This is the default.
LPCSTR   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_AppendDataA (t_BarCode* pBarCode, CHAR cTotal, CHAR cIndex, LPCSTR szMessageID)
 Sets Aztec Code "Structured Append" data. This function sets the total number of symbols and the index of the actual Aztec Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.
Note:
To use structured append mode it must be activated by calling the function BCSet_Aztec_AppendActive.
If a Message-ID is used, all symbols within a symbol chain must have the same one.
See also:
BCGet_Aztec_AppendTotal(), BCGet_Aztec_AppendIndex(), BCGet_Aztec_AppendMessageID(), BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] cTotal Total number of symbols 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] cIndex Index of current symbol 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] szMessageID Message ID [optional] (must be NULL or the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_Aztec_AppendDataW (t_BarCode* pBarCode, WCHAR cTotal, WCHAR cIndex, LPCWSTR szMessageID)
 Sets Aztec Code "Structured Append" data. This function sets the total number of symbols and the index of the actual Aztec Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.
Note:
To use structured append mode it must be activated by calling the function BCSet_Aztec_AppendActive.
If a Message-ID is used, all symbols within a symbol chain must have the same one.
See also:
BCGet_Aztec_AppendTotal(), BCGet_Aztec_AppendIndex(), BCGet_Aztec_AppendMessageID(), BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] cTotal Total number of symbols 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] cIndex Index of current symbol 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] szMessageID Message ID [optional] (must be NULL or the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR* BCGetAztecSizesA ()
 Returns the implemented Aztec Code symbol sizes. Returns all possible Aztec Code symbol sizes in an array.
See also:
BCGetAztecSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetAztecSizesCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGetAztecSizesW ()
 Returns the implemented Aztec Code symbol sizes. Returns all possible Aztec Code symbol sizes in an array.
See also:
BCGetAztecSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetAztecSizesCount()) ----------------------------------------------------------------------------.


LONG BCGetAztecSizesCount ()
 Returns the number of supported Aztec Code symbol-sizes. Returns the number of possible symbol sizes for Aztec Code.
See also:
BCGetAztecSizes()
Return values:
LONG   Number of supported Aztec Code symbol sizes ----------------------------------------------------------------------------.


e_DCSizeMode BCGet_DotCode_SizeMode (t_BarCode* pBarCode)
 Gets size mode of DotCode symbol. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").
See also:
BCGet_DotCode_Size(), BCSet_DotCode_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDCSm_Default   No value set. This is the default. Ratio between columns and rows is "3:2".
e_DCSizeMode   Otherwise ----------------------------------------------------------------------------.


LPCSTR BCGet_DotCode_SizeA (t_BarCode* pBarCode)
 Gets the current DotCode size. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").
See also:
BCSet_DotCode_Size(), BCGet_DotCode_SizeMode(), \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No size. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_DotCode_SizeW (t_BarCode* pBarCode)
 Gets the current DotCode size. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").
See also:
BCSet_DotCode_Size(), BCGet_DotCode_SizeMode(), \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No size. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.


LPCSTR BCGet_DotCode_DefaultSizeForModeA (e_DCSizeMode eMode)
LPCWSTR BCGet_DotCode_DefaultSizeForModeW (e_DCSizeMode eMode)
ERRCODE BCSet_DotCode_SizeA (t_BarCode* pBarCode, e_DCSizeMode eMode, LPCSTR szSize)
ERRCODE BCSet_DotCode_SizeW (t_BarCode* pBarCode, e_DCSizeMode eMode, LPCWSTR szSize)
e_DCPrintDirection BCGet_DotCode_PrintDirection (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_PrintDirection (t_BarCode* pBarCode, e_DCPrintDirection eDirection)
BOOL BCGet_DotCode_EnforceBinaryEncoding (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_EnforceBinaryEncoding (t_BarCode* pBarCode, BOOL bEnforceBinary)
e_DCFormat BCGet_DotCode_Format (t_BarCode* pBarCode)
LPCSTR BCGet_DotCode_FormatSpecifierA (t_BarCode* pBarCode)
LPCWSTR BCGet_DotCode_FormatSpecifierW (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_FormatA (t_BarCode* pBarCode, e_DCFormat eFormat, LPCSTR szFormatSpecifier)
ERRCODE BCSet_DotCode_FormatW (t_BarCode* pBarCode, e_DCFormat eFormat, LPCWSTR szFormatSpecifier)
e_DCMask BCGet_DotCode_Mask (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_Mask (t_BarCode* pBarCode, e_DCMask eMask)
BOOL BCGet_DotCode_AppendActive (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_AppendActive (t_BarCode* pBarCode, BOOL bActivate)
LONG BCGet_DotCode_AppendTotal (t_BarCode* pBarCode)
LONG BCGet_DotCode_AppendIndex (t_BarCode* pBarCode)
ERRCODE BCSet_DotCode_Append (t_BarCode* pBarCode, LONG nTotal, LONG nIndex)
e_QRVersion BCGet_QR_Version (t_BarCode* pBarCode)
 Gets the current symbol version (the symbol size). Returns currently adjusted value.
See also:
BCSet_QR_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_QRVersion   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_Version (t_BarCode* pBarCode, e_QRVersion eVersion)
 Specifies the symbol version (the symbol size). Specifies the size of the symbol. QR-Code supports a number of different symbol sizes - these sizes are called "versions" (see e_QRVersion). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.
See also:
BCGet_QR_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_QRFormat BCGet_QR_Format (t_BarCode* pBarCode)
 Gets the current encoding format. Returns currently adjusted value.
See also:
BCSet_QR_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRPr_Default   No value set. This is the default
e_QRFormat   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_Format (t_BarCode* pBarCode, e_QRFormat eFormat)
 Specifies QR-Code encoding format. Specifies the generated code format. Per default TBarCode uses the default encoding scheme without a special header.
See also:
BCGet_QR_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat eFormat QR-Code format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR BCGet_QR_FmtAppIndicatorA (t_BarCode* pBarCode)
 Gets current QR-Code Format application indicator (used with Industry format). Returns currently adjusted value.
See also:
BCSet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
0...99   ],[a-z, A-Z] Otherwise ----------------------------------------------------------------------------.


LPCWSTR BCGet_QR_FmtAppIndicatorW (t_BarCode* pBarCode)
 Gets current QR-Code Format application indicator (used with Industry format). Returns currently adjusted value.
See also:
BCSet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
0...99   ],[a-z, A-Z] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_FmtAppIndicatorA (t_BarCode* pBarCode, LPCSTR szIndicator)
 Set QR-Code format Application Indicator (used with Industry format). Is used only in connection with Industry-Format. The Application Indicator determines, to which industry format the input stream corresponds.
See also:
BCGet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure. \param[in] szIndicator Format application indicator ["0"..."99"] or [a-z, A-Z].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_FmtAppIndicatorW (t_BarCode* pBarCode, LPCWSTR szIndicator)
 Set QR-Code format Application Indicator (used with Industry format). Is used only in connection with Industry-Format. The Application Indicator determines, to which industry format the input stream corresponds.
See also:
BCGet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure. \param[in] szIndicator Format application indicator ["0"..."99"] or [a-z, A-Z].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_QRECLevel BCGet_QR_ECLevel (t_BarCode* pBarCode)
 Gets the current QR-Code error correction level (ECL). Returns currently adjusted value.
See also:
BCSet_QR_ECLevel() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQREC_Low   This is the default
e_QRECLevel   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_ECLevel (t_BarCode* pBarCode, e_QRECLevel eECLevel)
 Sets QR-Code error correction level (ECL). Sets QR-Code error correction level (ECL). If not set, TBarCode uses medium error correction level per default.
See also:
BCGet_QR_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] eECLevel Error correction level.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_QRMask BCGet_QR_Mask (t_BarCode* pBarCode)
 Gets the current QR-Code mask pattern (0-7). Returns currently adjusted value
See also:
BCSet_QR_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRMsk_Default   No value set. This is the default
e_QRMask   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_Mask (t_BarCode* pBarCode, e_QRMask eMask)
 Sets QR-Code mask pattern (0-7). Specifies the so-called "mask" that is applied to the QR-Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is very time consuming - if the encoding process must be optimized set a predefined mask.
See also:
BCGet_QR_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_QRMBCompaction BCGet_QR_KanjiChineseCompaction (t_BarCode* pBarCode)
 Gets the current state of the QR-Code "Compact Kanji / Chinese" option. Returns currently adjusted value
See also:
BCSet_QR_KanjiChineseCompaction() \param[in] pBarCode Pointer to bar-code structure.
Return values:
eQRMBCompactionNone   Do not compact Multi Byte character sets (Default)
eQRMBCompactionKanji   Kanji characters (Shift JIS X 0208) should be compacted
eQRMBCompactionChinese   Chinese characters (GB2312) should be compacted ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_KanjiChineseCompaction (t_BarCode* pBarCode, e_QRMBCompaction eCompact)
 Enables QR-Code "Compact Kanji" or "Compact Chinese" option. Enables the compaction of Kanji or Simplified Chinese characters into 13-bit values. The characters must be passed on as Unicode (wide string functions) in combination with code page set to Shift JIS or Simplified Chinese. If you use encoding mode Low Byte, the Kanji-characters must be supplied in Shift JIS X 0208 and the Chinese characters in GB2312 (Simplified Chinese) multi byte character set. Compaction of Kanji characters is done according to ISO/IEC 18004 (and AIM ITS/97-001); Compaction of Chinese characters is done according to GB/T 18284-2000.
See also:
BCGet_QR_KanjiChineseCompaction() (), BCSetTextW(), BCSetCodePage()
Note:
Do not use this option for pure binary data or ASCII characters. Take care with QR-Code 2005, which has a different default encoding. \param[in] pBarCode Pointer to bar-code structure. \param[in] eCompaction Compact Kanji or Chinese option. - eQRMBCompactionDefault: compact Kanji characters if Codepage = Japanese Shift JIS - eQRMBCompactionNone: do not compact Multi Byte character sets - eQRMBCompactionKanji: Kanji characters (Shift JIS X 0208) should be compacted - eQRMBCompactionChinese: Chinese characters (GB2312) should be compacted
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_QR_AppendSum (t_BarCode* pBarCode)
 Gets the total number of symbol when using QR-Code "Structured Append". Returns currently adjusted value.
See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..16   ] Otherwise ----------------------------------------------------------------------------.


LONG BCGet_QR_AppendIndex (t_BarCode* pBarCode)
 Gets the structured append index of the symbol when using QR-Code "Structured Append". Returns currently adjusted value.
See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1..16   ] Otherwise ----------------------------------------------------------------------------.


BYTE BCGet_QR_AppendParity (t_BarCode* pBarCode)
 Gets the structured append parity when using QR-Code "Structured Append". Returns currently adjusted value.
See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
0   No value set. This is the default
0..255   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_QR_Append (t_BarCode* pBarCode, LONG nSum, LONG nIndex, BYTE bParity)
 Activates QR-Code "Structured Append" feature. QR-Code allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. Default: Structured Append is disabled.
This function enables Structured Append and sets the total number of symbols and the index of the actual QR-Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once.
All symbols within a symbol chain must be identified by a Parity. This parity is computed with BCCalcStructApp_Parity().
See also:
BCGet_QR_AppendSum(), BCGet_QR_AppendIndex(), BCGet_QR_AppendParity() \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Total number of symbols [2..16] (reset to default/disable = -1). \param[in] nIndex Index of current symbol [1..16]. \param[in] bParity Parity byte (must be the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BYTE BCCalcStructApp_ParityA (LPCSTR szIntData, LONG nIntData)
 Returns the parity byte for QR-Code "Structured Append" (Byte array version). Returns the parity byte for a given input data-stream. Used with QR-Code and structured append.
See also:
BCSet_QR_Append(), BCCalcStructApp_ParityW() \param[in] szIntData Input data of the complete QR-Code chain (byte array). \param[in] nIntData Length of szIntData.
Return values:
BYTE   Value of the parity byte ----------------------------------------------------------------------------.


BYTE BCCalcStructApp_ParityW (LPCWSTR szIntData, LONG nIntData)
 Returns the parity byte for QR-Code "Structured Append" (Byte array version). Returns the parity byte for a given input data-stream. Used with QR-Code and structured append.
See also:
BCSet_QR_Append(), BCCalcStructApp_ParityW() \param[in] szIntData Input data of the complete QR-Code chain (byte array). \param[in] nIntData Length of szIntData.
Return values:
BYTE   Value of the parity byte ----------------------------------------------------------------------------.


LPCSTR* BCGetQRCodeVersionsA ()
 Returns implemented QR-Code versions. Returns all possible QR-Code versions (symbol sizes) in an array.
See also:
BCGetQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetQRCodeVersionCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGetQRCodeVersionsW ()
 Returns implemented QR-Code versions. Returns all possible QR-Code versions (symbol sizes) in an array.
See also:
BCGetQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetQRCodeVersionCount()) ----------------------------------------------------------------------------.


LONG BCGetQRCodeVersionCount ()
 Returns number of implemented QR-Code versions. Returns the number of possible QR-Code versions
See also:
BCGetQRCodeVersions()
Return values:
LONG   Number of supported QR-code versions ----------------------------------------------------------------------------.


e_MQRVersion BCGet_MQR_Version (t_BarCode* pBarCode)
 Gets the current symbol version (the symbol size). Returns currently adjusted value.
See also:
BCSet_MQR_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMQRVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_MQRVersion   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_MQR_Version (t_BarCode* pBarCode, e_MQRVersion eVersion)
 Specifies the symbol version (the symbol size). Specifies the size of the symbol. Micro QR-code supports a number of different symbol sizes - these sizes are called "versions" (see e_MQRVersion). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.
See also:
BCGet_MQR_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_MQRMask BCGet_MQR_Mask (t_BarCode* pBarCode)
 Gets the current Micro QR-Code mask pattern (0-7). Returns currently adjusted value
See also:
BCSet_MQR_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMQRMsk_Default   No value set. This is the default
e_MQRMask   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_MQR_Mask (t_BarCode* pBarCode, e_MQRMask eMask)
 Sets Micro QR-Code mask pattern (0-7). Specifies the so-called "mask" that is applied to the Micro QR-Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is time consuming - if the encoding process must be optimized set a predefined mask.
See also:
BCGet_MQR_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR* BCGetMQRCodeVersionsA ()
 Returns implemented Micro QR-Code versions. Returns all possible Micro QR-Code versions (symbol sizes) in an array.
See also:
BCGetMQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetMQRCodeVersionCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGetMQRCodeVersionsW ()
 Returns implemented Micro QR-Code versions. Returns all possible Micro QR-Code versions (symbol sizes) in an array.
See also:
BCGetMQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetMQRCodeVersionCount()) ----------------------------------------------------------------------------.


LONG BCGetMQRCodeVersionCount ()
 Returns number of implemented Micro QR-Code versions. Returns the number of possible Micro QR-Code versions
See also:
BCGetMQRCodeVersions()
Return values:
LONG   Number of supported Micro QR-code versions ----------------------------------------------------------------------------.


e_HanXinSizes BCGet_HanXin_Version (t_BarCode* pBarCode)
 Gets the current symbol version (the symbol size). Returns currently adjusted value.
See also:
BCSet_HanXin_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_HanXinSizes   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_HanXin_Version (t_BarCode* pBarCode, e_HanXinSizes eVersion)
 Specifies the symbol version (the symbol size). Specifies the size of the symbol. Han Xin Code supports a number of different symbol sizes - these sizes are called "versions" (see e_HanXinSizes). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.
See also:
BCGet_HanXin_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_HanXinECLevel BCGet_HanXin_ECLevel (t_BarCode* pBarCode)
 Gets the current Han Xin Code error correction level (ECL). Returns currently adjusted value.
See also:
BCSet_HanXin_ECLevel() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinEC_L1   This is the default
e_HanXinECLevel   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_HanXin_ECLevel (t_BarCode* pBarCode, e_HanXinECLevel eECLevel)
 Sets Han Xin Code error correction level (ECL). Sets Han Xin Code error correction level (ECL). If not set, TBarCode uses error correction level "1" per default.
See also:
BCGet_HanXin_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] eECLevel Error correction level.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_HanXinMask BCGet_HanXin_Mask (t_BarCode* pBarCode)
 Gets the current Han Xin Code mask pattern (0-3). Returns currently adjusted value
See also:
BCSet_HanXin_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinMsk_Default   No value set. This is the default
e_HanXinMask   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_HanXin_Mask (t_BarCode* pBarCode, e_HanXinMask eMask)
 Sets Han Xin Code mask pattern (0-3). Specifies the so-called "mask" that is applied to the Han Xin Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is somewhat time consuming - if the encoding process must be optimized set a predefined mask.
See also:
BCGet_HanXin_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_HanXin_EnforceBinaryEncoding (t_BarCode* pBarCode)
 Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE
See also:
BCSet_HanXin_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.


ERRCODE BCSet_HanXin_EnforceBinaryEncoding (t_BarCode* pBarCode, BOOL bEnforceBinary)
 Determines whether Han Xin Code shall be encoded in binary mode or not.
Note:
Binary mode usually is faster but produces bigger symbols than optimized symbol mode
See also:
BCGet_HanXin_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LPCSTR* BCGetHanXinVersionsA ()
 Returns implemented Han Xin Code versions. Returns all possible Han Xin Code versions (symbol sizes) in an array.
See also:
BCGetHanXinVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetHanXinVersionCount()) ----------------------------------------------------------------------------.


LPCWSTR* BCGetHanXinVersionsW ()
 Returns implemented Han Xin Code versions. Returns all possible Han Xin Code versions (symbol sizes) in an array.
See also:
BCGetHanXinVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetHanXinVersionCount()) ----------------------------------------------------------------------------.


LONG BCGetHanXinVersionCount ()
 Returns number of implemented Han Xin Code versions. Returns the number of possible Han Xin Code versions
See also:
BCGetQRCodeVersions()
Return values:
LONG   Number of supported QR-code versions ----------------------------------------------------------------------------.


e_CBFFormat BCGet_CBF_Format (t_BarCode* pBarCode)
 Gets the adjusted Codablock-F code format. Returns currently adjusted value.
See also:
BCSet_CBF_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCBFPr_Default   No value set. This is the default
e_CBFFormat   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_CBF_Format (t_BarCode* pBarCode, e_CBFFormat eFormat)
 Sets Codablock-F code format. Specifies the encoding format for Codablock-F. Selects UCC/EAN or the default encoding format.
See also:
BCGet_CBF_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Codablock F format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_CBF_Columns (t_BarCode* pBarCode)
 Gets the number of adjusted Codablock-F columns. Returns currently adjusted value.
See also:
BCSet_CBF_Columns() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
4..62   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_CBF_Columns (t_BarCode* pBarCode, LONG nColumns)
 Adjusts the number of Codablock-F columns. Specifies the number of columns that should be used for the Codablock-F symbol. If this value is not set explicitly, TBarCode computes the number of columns automatically (default).
See also:
BCGet_CBF_Columns() \param[in] pBarCode Pointer to barcode structure. \param[in] nColumns Number of columns [4..62] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_CBF_Rows (t_BarCode* pBarCode)
 Gets the adjusted number of Codablock-F rows. Returns currently adjusted value.
See also:
BCSet_CBF_Rows() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..44   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_CBF_Rows (t_BarCode* pBarCode, LONG nRows)
 Adjusts the number of CodaBlock-F rows. Specifies the number of rows that should be used for the CodaBlock-F symbol. If this value is not set explicitly, TBarCode computes the number of rows automatically (default).
See also:
BCGet_CBF_Rows() \param[in] pBarCode Pointer to barcode structure. \param[in] nRows Number of rows [2..44] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_CBF_RowHeight (t_BarCode* pBarCode)
 Gets the adjusted row height for Codablock-F. Returns currently adjusted value.
See also:
BCSet_CBF_RowHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Row height [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSet_CBF_RowHeight (t_BarCode* pBarCode, LONG nHeight)
 Sets the row height for Codablock-F. Specifies the height of an individual row in 1/1000 mm. If this value is not set explicitly (=default), the height is calculated according to the bounding rectangle when drawing (see BCDraw()). If set, ensure that the bounding rectangle is big enough to avoid clipping.
See also:
BCGet_CBF_RowHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


LONG BCGet_CBF_RowSeparatorHeight (t_BarCode* pBarCode)
 Gets the currently adjusted row separator height for Codablock-F. Returns currently adjusted value.
See also:
BCSet_CBF_RowSeparatorHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Row separator height [1/1000 mm] ----------------------------------------------------------------------------.


ERRCODE BCSet_CBF_RowSeparatorHeight (t_BarCode* pBarCode, LONG nHeight)
 Sets the height of the Codablock-F row-separator. Specifies the height of the row-separator in 1/1000 mm. If this value is not set (=default), the height of the separator row is calculated automatically (according to the bounding rectangle). If set, ensure that the bounding rectangle is big enough to avoid clipping.
See also:
BCGet_CBF_RowSeparatorHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row separator height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


e_CCType BCGet2DCompositeComponent (t_BarCode* pBarCode)
 Gets adjusted 2D Composite Component. Returns currently adjusted CC.
See also:
BCSet2DCompositeComponent() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCC_None   No value set. This is the default
e_CCType   Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet2DCompositeComponent (t_BarCode* pBarCode, e_CCType eCCType)
 Sets 2D Composite Component (= CC) Type. Enables or disables generation of an GS1 Composite Symbology and adjusts the type of the 2D composite component (CC-A, CC-B or CC-C). The CC is printed on top of the base symbol, which can be an GS1 DataBar or an EAN-128 symbology. For usual applications (using GS1 Composite) we recommend to set the CC-Type to eCC_Auto. In this case TBarCode computes the optimal CC automatically. Default: eCC_None.
See also:
BCGet2DCompositeComponent() \param[in] pBarCode Pointer to barcode structure. \param[in] eCCType CC Type.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


BOOL BCGet_CompSym_IsCCPresent (t_BarCode* pBarCode)
 Determines if a composite component was created. After BCCreate() you can check if a composite component is present (and therefore is part of the created symbol). This method is useful if you adjusted a composite component to be created but - depending on missing input data - the composite component may be omitted (only the linear bar code appears).
Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   A composite component was created
false   No composite component was created ----------------------------------------------------------------------------.


BOOL BCGet_CompSym_IsCCAvailable (t_BarCode* pBarCode, e_CCType eCCType)
 Check if a composite component is available for the current base symbology. Used with GS1 Composite Symbology. Tells you if a specific 2D composite component (CC-A/B/C) can be combined with the selected base symbology. Adjust the base symbology first with BCSetBCType(). \param[in] pBarCode Pointer to barcode structure. \param[in] eCCType Composite component type (symbology of composite component).
Return values:
true   The specified composite component is available
false   The specified composite component is not available ----------------------------------------------------------------------------.


BOOL BCGet_CompSym_ErrorInCC (t_BarCode* pBarCode)
 Determines the source of the error when creating composite symbologies. If BCCreate() returns with an error this function indicates whether the error happened in the base symbology or in the composite symbol. Example: If the composite component could not be created due to wrong data this function returns true. \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Error occurred during creation of the composite component
false   Error occurred during creation of the base symbology ----------------------------------------------------------------------------.


BOOL BCIsCompositeAllowed (e_BarCType barcodeType)
 Retrieves whether the barcode type can be a composite barcode. Only certain types of barcodes can have composite components. You can use this function to find out if a certain barcode type supports a composite component. \param[in] barcodeType e_BarCType. The type of barcode.
Return values:
true   The given barcode type supports a composite component.
false   The given barcode type cannot be a composite barcode. --------------------------------------------------------------------------.


BOOL BCIsCompositeComponentAllowed (e_BarCType barcodeType, e_CCType componentType)
 Retrieves whether the barcode type can be a composite barcode with a certain component. Only certain types of barcodes can have composite components, and not all composite barcodes support all type of component types. You can use this function to find out if a certain barcode type supports a certain type of composite component. \param[in] barcodeType e_BarCType. The type of barcode. \param[in] componentType e_CCType. The type of composite component.
Return values:
true   The given barcode type supports the given composite component.
false   The given barcode type cannot be a composite barcode, or it the does not support the given type of component. --------------------------------------------------------------------------.


LONG BCGet_RSS_SegmPerRow (t_BarCode* pBarCode)
 Gets currently adjusted data segments per row (GS1 DataBar/RSS Expanded Stacked only). Returns currently adjusted value.
See also:
BCSet_RSS_SegmPerRow() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..22   ] Otherwise ----------------------------------------------------------------------------.


ERRCODE BCSet_RSS_SegmPerRow (t_BarCode* pBarCode, LONG nSegmPerRow)
 Sets data segments per Row (GS1 DataBar/RSS Expanded Stacked only) to a fixed value. The value of nSegmPerRow specifies how many data words (segments) are encoded in one data row of the symbol. Values in the range from 2 to 22 are allowed. Data words are encoded in pairs, so only even numbers are valid. Wrong values are auto-corrected by TBarCode. If this value is not set (default), the number of data segments per row is 4.
See also:
BCGet_RSS_SegmPerRow() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegmPerRow Number of segments per row [2..22] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.



Define Documentation

#define BCAIToFile   BCAIToFileA

#define BCBitmapToFile   BCBitmapToFileA

#define BCBitmapToMemory   BCBitmapToMemoryA

#define BCCalcCDExt   BCCalcCDExtA

#define BCCalcStructApp_Parity   BCCalcStructApp_ParityA

#define BCCopyToClipboardEx   BCCopyToClipboardExA

#define BCGetAztecSizes   BCGetAztecSizesA

#define BCGetBCList   BCGetBCListA

#define BCGetBarShape_ImageFileName   BCGetBarShape_ImageFileNameA

#define BCGetCDList   BCGetCDListA

#define BCGetCheckDigits   BCGetCheckDigitsA

#define BCGetDataMatrixSizes   BCGetDataMatrixSizesA

#define BCGetDefaultDataByType   BCGetDefaultDataByTypeA

#define BCGetDisplayText   BCGetDisplayTextA

#define BCGetErrorText   BCGetErrorTextA

#define BCGetErrorTextExt   BCGetErrorTextExtA

#define BCGetFontName   BCGetFontNameA

#define BCGetFormat   BCGetFormatA

#define BCGetFuncDrawText   BCGetFuncDrawTextA

#define BCGetHanXinVersions   BCGetHanXinVersionsA

#define BCGetLibraryVersion   BCGetLibraryVersionA

#define BCGetMQRCodeVersions   BCGetMQRCodeVersionsA

#define BCGetMetaData   BCGetMetaDataA

#define BCGetModWidth   BCGetModWidthA

#define BCGetNameFromEnum   BCGetNameFromEnumA

#define BCGetOptions   BCGetOptionsA

#define BCGetPostscriptMacros   BCGetPostscriptMacrosA

#define BCGetQRCodeVersions   BCGetQRCodeVersionsA

#define BCGetRatio   BCGetRatioA

#define BCGetText   BCGetTextA

#define BCGet_Aztec_AppendIndex   BCGet_Aztec_AppendIndexA

#define BCGet_Aztec_AppendMessageID   BCGet_Aztec_AppendMessageIDA

#define BCGet_Aztec_AppendTotal   BCGet_Aztec_AppendTotalA

#define BCGet_Aztec_FormatSpecifier   BCGet_Aztec_FormatSpecifierA

#define BCGet_DotCode_DefaultSizeForMode   BCGet_DotCode_DefaultSizeForModeA

#define BCGet_DotCode_FormatSpecifier   BCGet_DotCode_FormatSpecifierA

#define BCGet_DotCode_Size   BCGet_DotCode_SizeA

#define BCGet_MPDF417_Versions   BCGet_MPDF417_VersionsA

#define BCGet_Maxi_PreambleDate   BCGet_Maxi_PreambleDateA

#define BCGet_Maxi_SCMCountryCode   BCGet_Maxi_SCMCountryCodeA

#define BCGet_Maxi_SCMPostalCode   BCGet_Maxi_SCMPostalCodeA

#define BCGet_Maxi_SCMServClass   BCGet_Maxi_SCMServClassA

#define BCGet_PDF417_Addressee   BCGet_PDF417_AddresseeA

#define BCGet_PDF417_FileID   BCGet_PDF417_FileIDA

#define BCGet_PDF417_FileName   BCGet_PDF417_FileNameA

#define BCGet_PDF417_RowColRatio   BCGet_PDF417_RowColRatioA

#define BCGet_PDF417_Sender   BCGet_PDF417_SenderA

#define BCGet_QR_FmtAppIndicator   BCGet_QR_FmtAppIndicatorA

#define BCInitLibrary   BCInitLibraryA

#define BCLicenseMe   BCLicenseMeA

#define BCPCLToFile   BCPCLToFileA

#define BCPCLToFileExt   BCPCLToFileExtA

#define BCPDFToFile   BCPDFToFileA

#define BCPostscriptToFile   BCPostscriptToFileA

#define BCSVGToFile   BCSVGToFileA

#define BCSaveImage   BCSaveImageA

#define BCSaveImageEx   BCSaveImageExA

#define BCSetBarShape   BCSetBarShapeA

#define BCSetDisplayText   BCSetDisplayTextA

#define BCSetFontName   BCSetFontNameA

#define BCSetFormat   BCSetFormatA

#define BCSetFuncDrawText   BCSetFuncDrawTextA

#define BCSetModWidth   BCSetModWidthA

#define BCSetOptions   BCSetOptionsA

#define BCSetRatio   BCSetRatioA

#define BCSetText   BCSetTextA

#define BCSet_Aztec_AppendData   BCSet_Aztec_AppendDataA

#define BCSet_Aztec_Format   BCSet_Aztec_FormatA

#define BCSet_DotCode_Format   BCSet_DotCode_FormatA

#define BCSet_DotCode_Size   BCSet_DotCode_SizeA

#define BCSet_Maxi_SCM   BCSet_Maxi_SCMA

#define BCSet_Maxi_UsePreamble   BCSet_Maxi_UsePreambleA

#define BCSet_PDF417_Addressee   BCSet_PDF417_AddresseeA

#define BCSet_PDF417_FileID   BCSet_PDF417_FileIDA

#define BCSet_PDF417_FileName   BCSet_PDF417_FileNameA

#define BCSet_PDF417_RowColRatio   BCSet_PDF417_RowColRatioA

#define BCSet_PDF417_Sender   BCSet_PDF417_SenderA

#define BCSet_QR_FmtAppIndicator   BCSet_QR_FmtAppIndicatorA

#define BC_USEDEFAULT   -1

Constant indicating a default value. Used for determining or setting the default value of most relevant parameters.

#define ERRCODE   LONG

Data type for error codes. Error code 0 indicates successful operation.

#define ErrOk   S_OK

#define S_FALSE   ((HRESULT) 0x00000001L)

#define S_OK   ((HRESULT) 0x00000000L)

#define TBARCODEDLL_API   __declspec(dllimport)

Exports/imports DLL interface. \internal.

#define TBARCODE_11_0_0

Symbol that identifies TBarCode 11.0.0.

#define TBARCODE_HEADER

\file Header File for TBarCode Library. Include this header file in your modules to access the TBarCode API. In Windows:

#include "tbarcode.h" 
In Linux/Unix:
#include <libTBarCode11/tbarcode.h> 

The TBarCode Library for Windows and TBarCode Library for UNIX have the same API except for some functions: - Functions denoted with "Windows only" are only available for Windows platforms. - Functions denoted with "UNIX only" are only available in UNIX/Linux environments.
Author(s):
TEC-IT Datenverarbeitung GmbH
Hans-Wagner-Str. 6, A-4400 Steyr, AUSTRIA/EUROPE
https://www.tec-it.com
Copyright © 1996 - 2018 by TEC-IT Datenverarbeitung GmbH
Version:
11.0
Note:
This product is supported. Please send an email to support@tec-it.com.

#define TBARCODE_VERSION   "11.0.0"

Current TBarCode version.

#define TECIT_STDCALL   _stdcall

Defines calling convention. \internal.

#define TEC_CALLBACK   CALLBACK

#define TEC_MAX_INPUT   10000

#define TEC_WIN   1

Defined if platform is Windows. \internal.

#define TEC_WINCE   1

Defined if platform is Windows CE. \internal.

#define _BC_T_FUNCTIONS_

#define fn_DrawText   fn_DrawTextA


Typedef Documentation

typedef struct tagRECTD * LPRECTD

Rectangle structure for double types.

typedef struct tagRECTD RECTD

Rectangle structure for double types.

typedef struct tag_BarCode t_BarCode

Forward declaration of the internal used barcode structure. The exact layout of this structure is hidden.


Function Documentation

ERRCODE BCAIToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as a AI-file. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7

See also:
BCAIToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCAIToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as a AI-file. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7

See also:
BCAIToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCAIToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect )

Writes barcode (Adobe Illustrator Format) into memory-block. The origin of the coordinate space in AI format is the lower, left corner of a page. The positive y-axis points upwards. Format: Adobe Illustrator 7

See also:
BCAIToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCAlloc ( t_BarCode ** ppBarCode )

Allocates and initializes barcode structure. Must be called as first function before any other call using pBarCode. This function allocates and initializes the internal barcode structure to store all parameters. It sets the pointer that you pass to this function. For each barcode you want to use simultaneously, you have to call this function to get an appropriate handle (pBarCode). \param[in, out] ppBarCode Pointer to barcode structure. Only valid if return value is ErrOk (0)

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCFree() ----------------------------------------------------------------------------.

BOOL BCAttach ( )

Initializes TBarCode for further use (Windows static library only). Required only for static library variants of TBarCode (not for DLLs). Must be called as first function.

Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only.
Return values:
true   Initialization successful
false   Initialization not successful ----------------------------------------------------------------------------.

BOOL BCAttachInstance ( HINSTANCE hInstance )

Attach library to given instance (Windows static library only). Required only for static library variants of TBarCode. Must be called as first function.

Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only. \param[in] hInstance Instance handle of process.
Return values:
true   Initialization successful
false   Initialization not successful ----------------------------------------------------------------------------.

ERRCODE BCBitmapToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as an image file. The file name's suffix determines the image format, e.g. 'xxx.gif'. Supported image formats are: BMP, GIF, JPG, PNG and TIF.
All barcodes are supported. Text output is not supported.

See also:
BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCBitmapToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as an image file. The file name's suffix determines the image format, e.g. 'xxx.gif'. Supported image formats are: BMP, GIF, JPG, PNG and TIF.
All barcodes are supported. Text output is not supported.

See also:
BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCBitmapToMemoryA ( t_BarCode * pBarCode,
VOID * pHandle,
LPCSTR pszFormat,
INT * pnSize,
LPCRECT pRect )

Writes barcode in an image format to memory block. All barcodes are supported. Text output is not supported.
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] pszFormat The image format ("BMP" , "GIF", "JPG" , "PNG" or "TIF") \param[in,out] pnSize The size of the allocated memory block. Contains the required size after the function call.

Note:
The returned size is the really needed size + 1. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCBitmapToFile() ----------------------------------------------------------------------------.

ERRCODE BCBitmapToMemoryW ( t_BarCode * pBarCode,
VOID * pHandle,
LPCWSTR pszFormat,
INT * pnSize,
LPCRECT pRect )

Writes barcode in an image format to memory block. All barcodes are supported. Text output is not supported.
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] pszFormat The image format ("BMP" , "GIF", "JPG" , "PNG" or "TIF") \param[in,out] pnSize The size of the allocated memory block. Contains the required size after the function call.

Note:
The returned size is the really needed size + 1. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, top) is the upper left corner of the barcode; must be (0, 0). (right, bottom) is the lower right corner of the barcode; (width, height).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCBitmapToFile() ----------------------------------------------------------------------------.

ERRCODE BCCalcCD ( t_BarCode * pBarCode )

Calculates check-digit(s). Calculates the check-digit(s) depending on all barcode parameters previously set (symbology, check digit method, bar code data). You can retrieve the calculated check sum with BCGetCheckDigits(). Do not change barcode parameters or input data after this call (if you want to generate a bar code).

Note:
You can use this function without BCCreate() to generate check sums only (based on the bar code data).
The format property and the escape sequences are not applied to the input data with this function!
This function call is optional. If a check sum is adjusted or required for a bar code, it is calculated with BCCreate() also.
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function. Such internal check sums are generated during BCCreate() without the need of user interaction.
See also:
BCSetCDMethod(), BCGetCheckDigits(), BCCalcCDExt() \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCCalcCDExtA ( t_BarCode * pBarCode,
LPCSTR lpszData,
e_CDMethod eCDMethod,
LPSTR lpszChecksum,
LONG * nChecksum )

Calculates check-digit(s) for a given data string. Calculates the check sum for a given data string with the given check digit method. Use this function to generate check digits independently from the adjusted bar code data. E.g. If you need a check digit only displayed in the human readable text (and not encoded in the symbol), use this function to build up your display string.

Note:
The internal bar code data is not influenced by this function. The adjusted bar code type (in pBarCode) is used to determine symbology specific check digit characteristics (use the bar code type eBCNone if you don't need this feature).
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function.
See also:
BCCalcCD(), BCSetCDMethod(), BCGetCheckDigits() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszData Pointer to zero-terminated data string. No data check is performed (e.g. if a check sum method allows only digits). \param[in] eCDMethod Check Digit method \param[in, out] lpszChecksum Check-digit text buffer. If NULL, nChecksum returns the number of check-digits. \param[in, out] nChecksum IN: Buffer size of lpszChecksum, OUT: number of generated check digits (-1 if buffer size is to small).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if check digit generation failed. ----------------------------------------------------------------------------.

ERRCODE BCCalcCDExtW ( t_BarCode * pBarCode,
LPCWSTR lpszData,
e_CDMethod eCDMethod,
LPWSTR lpszChecksum,
LONG * nChecksum )

Calculates check-digit(s) for a given data string. Calculates the check sum for a given data string with the given check digit method. Use this function to generate check digits independently from the adjusted bar code data. E.g. If you need a check digit only displayed in the human readable text (and not encoded in the symbol), use this function to build up your display string.

Note:
The internal bar code data is not influenced by this function. The adjusted bar code type (in pBarCode) is used to determine symbology specific check digit characteristics (use the bar code type eBCNone if you don't need this feature).
Symbology internal check sums (e.g. Mod-103 used with Code128) are not calculated with this function.
See also:
BCCalcCD(), BCSetCDMethod(), BCGetCheckDigits() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszData Pointer to zero-terminated data string. No data check is performed (e.g. if a check sum method allows only digits). \param[in] eCDMethod Check Digit method \param[in, out] lpszChecksum Check-digit text buffer. If NULL, nChecksum returns the number of check-digits. \param[in, out] nChecksum IN: Buffer size of lpszChecksum, OUT: number of generated check digits (-1 if buffer size is to small).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if check digit generation failed. ----------------------------------------------------------------------------.

BYTE BCCalcStructApp_ParityA ( LPCSTR szIntData,
LONG nIntData )

Returns the parity byte for QR-Code "Structured Append" (Byte array version). Returns the parity byte for a given input data-stream. Used with QR-Code and structured append.

See also:
BCSet_QR_Append(), BCCalcStructApp_ParityW() \param[in] szIntData Input data of the complete QR-Code chain (byte array). \param[in] nIntData Length of szIntData.
Return values:
BYTE   Value of the parity byte ----------------------------------------------------------------------------.

BYTE BCCalcStructApp_ParityW ( LPCWSTR szIntData,
LONG nIntData )

Returns the parity byte for QR-Code "Structured Append" (Byte array version). Returns the parity byte for a given input data-stream. Used with QR-Code and structured append.

See also:
BCSet_QR_Append(), BCCalcStructApp_ParityW() \param[in] szIntData Input data of the complete QR-Code chain (byte array). \param[in] nIntData Length of szIntData.
Return values:
BYTE   Value of the parity byte ----------------------------------------------------------------------------.

ERRCODE BCCheck ( t_BarCode * pBarCode )

Checks barcode input data for validity. The bar code data is validated to be encoded with the selected symbology. Adjust all bar code parameters before you call this function. If the input data is invalid (a non-zero error code was returned), you can correct the bar code data and try again. If the check was successful, do not change barcode parameters or input data anymore (before you create a bar code).

Note:
This function call is optional - if used it must be called before BCCreate().
Escape sequences in the bar code data (if enabled) are NOT translated during this check.
See also:
BCSetTextA(), BCGetInvalidDataPos(), BCSetTranslateEsc() \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCClone ( t_BarCode ** ppBarCodeDest,
const t_BarCode * pBarCodeSrc )

Makes a clone of an existing bar code structure. Call this function if you need a deep copy of a bar code structure. You have to call BCFree on pBarCodeDest after using in order to free the allocated resources. \param[in, out] ppBarCodeDest Pointer to destination barcode structure. \param[in] pBarCodeSrc Pointer to source barcode structure.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCFree() ----------------------------------------------------------------------------.

ERRCODE BCCopyToClipboard ( t_BarCode * pBarCode,
LONG nWidth,
LONG nHeight )

Copies barcode to the Windows clipboard (Windows only). Copies barcode to the Windows clipboard. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format (EMF) is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected.

Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] nWidth Width of barcode to copy in pixels (of the physical screen). \param[in] nHeight Height of barcode to copy in pixels (of the physical screen).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCCopyToClipboardExA ( t_BarCode * pBarCode,
HDC hDC,
LONG nWidth,
LONG nHeight,
BOOL fTransparent,
LPCSTR szFileName )

Copies barcode to clipboard (extended version, Windows only). Like BCCopyToClipboard(). In addition, you can specify the device context, the transparency and the background color of the resulting barcode. Optional the barcode can be saved as EMF (Enhanced Meta File) or WMF (Windows meta file). The format is specified through the file extension (.emf or .wmf) of szFileName. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcx", ".png", ".tif", and ".tmp".

Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy, in pixels (of the device context). \param[in] nHeight Height of barcode to copy, in pixels (of the device context). \param[in] fTransparent Barcode transparent or not. - true: Background is not drawn - false: Background is drawn (using background color) \param[in] szFileName Filename the barcode should be written to (NULL for clipboard only).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCCopyToClipboardExW ( t_BarCode * pBarCode,
HDC hDC,
LONG nWidth,
LONG nHeight,
BOOL fTransparent,
LPCWSTR szFileName )

Copies barcode to clipboard (extended version, Windows only). Like BCCopyToClipboard(). In addition, you can specify the device context, the transparency and the background color of the resulting barcode. Optional the barcode can be saved as EMF (Enhanced Meta File) or WMF (Windows meta file). The format is specified through the file extension (.emf or .wmf) of szFileName. Call this function after BCCreate(). For Windows 95/98/ME: the used meta-file format is not fully supported by these Windows versions. No problems for Windows 2000 or higher are to be expected. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcx", ".png", ".tif", and ".tmp".

Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy, in pixels (of the device context). \param[in] nHeight Height of barcode to copy, in pixels (of the device context). \param[in] fTransparent Barcode transparent or not. - true: Background is not drawn - false: Background is drawn (using background color) \param[in] szFileName Filename the barcode should be written to (NULL for clipboard only).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCCreate ( t_BarCode * pBarCode )

Creates the internal barcode representation. Creates the internal barcode representation depending on all barcode parameters previously set. After this call the barcode is ready for drawing or saving (e.g. with BCDraw()). Do not change barcode parameters or input data after this call.

See also:
BCDraw(), BCSaveImage()
Note:
This function call is a must! \param[in] pBarCode Pointer to barcode structure.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCDeInitLibrary ( )

De-initializes TBarCode Library (UNIX and Windows CE only). Must be called before terminating the application or before unloading TBarCode Library.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

BOOL BCDetach ( )

Detach library from process (Windows static library only). Required only for static library variants of TBarCode (not for DLLs). Must be called as last function.

Note:
Contact TEC-IT regarding the availability of TBarCode as static library
WINDOWS only.
Return values:
true   De-initialization successful
false   De-initialization not successful ----------------------------------------------------------------------------.

ERRCODE BCDraw ( t_BarCode * pBarCode,
HDC hDC,
RECT * pRect )

Draws barcode onto the given Windows device context. Draws the barcode onto the given device context. The coordinates of the bounding rectangle defines the barcode dimensions. The coordinates passed in pRect are interpreted in the current mapping mode of the device context. No special coordinate mapping is performed.

See also:
BCDrawCB() for custom drawing functionality.
Note:
WINDOWS only \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle. \param[in] pRect Bounding rectangle.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCDrawCB ( t_BarCode * pBarCode,
HDC hDC,
RECT * pRect )

Callback version of barcode draw function. Call this function instead of BCDraw() if you want to use your own drawing routines (e.g. for generating a barcode on special devices or in special output formats). - fn_DrawRow is used for drawing the bars, see BCSetFuncDrawRow() - fn_DrawBar is used for drawing the bars, see BCSetFuncDrawBar() - fn_DrawText is used for drawing the human readable text, see BCSetFuncDrawText()

Note:
BCDrawCB() can be used only with a developer license. Sample code is available on request: support@tec-it.com
Call-backs are disabled in the demo-version of TBarCode. If you need to try it please contact TEC-IT for a temporary license key. \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (optional, Windows only). \param[in] pRect Bounding rectangle (bar code size). If hDC is NULL, the unit is [0.001 mm]. The coordinates are transformed to an origin of (0,0).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetFuncDrawRow(), BCSetFuncDrawRow(), BCGetFuncDrawBar(), BCSetFuncDrawBar(), BCGetFuncDrawText(), BCSetFuncDrawText(), BCGetCBData(), BCSetCBData() ----------------------------------------------------------------------------.

ERRCODE BCFree ( t_BarCode * pBarCode )

Frees barcode structure. Must be called as last function and frees all resources used by pBarCode. The pointer pBarCode must not be used after this call. \param[in] pBarCode Pointer to barcode structure.

See also:
BCAlloc()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

e_CCType BCGet2DCompositeComponent ( t_BarCode * pBarCode )

Gets adjusted 2D Composite Component. Returns currently adjusted CC.

See also:
BCSet2DCompositeComponent() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCC_None   No value set. This is the default
e_CCType   Otherwise ----------------------------------------------------------------------------.

LONG BCGet2D_XCols ( const t_BarCode * pBarCode )

Returns the width of the barcode in modules. The measurement unit used for the return value is the module width (X). The total symbol width would be the return value of this function * X (X = module width). Can be used for BCSaveImage() to optimize the resolution of the resulting image.

Note:
To be used with 2D symbologies and all composite codes (with a 2D composite component).
See also:
BCGet2D_XRows(), BCGetTextAreaHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of horizontal modules ----------------------------------------------------------------------------.

DOUBLE BCGet2D_XRows ( const t_BarCode * pBarCode )

Returns the height of the barcode in modules. The measurement unit used for the return value is the module width (X). The total symbol height would be the return value of this function * X (X = module width) + height of text area (BCGetTextAreaHeight()). Can be used for BCSaveImage() to optimize the resolution of the resulting image.

Note:
To be used with 2D symbologies and all composite codes (with a 2D composite component). Please contact support@tec-it.com if you have to deal with resolution (bitmap) issues.
See also:
BCGet2D_XCols(), BCGetTextAreaHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of vertical modules ----------------------------------------------------------------------------.

LONG BCGetActiveTextIndex ( t_BarCode * pBarCode )

Gets the currently active text index. Returns the index of the currently active/selected text.
A return value of
\li 0 ... means that the human readable text is active (this is the default) \li >0 ... means that the extra text with given index [1 .. n] is active The user can only change the settings of the text that is currently active.

That means that if the user calls the function <CODE>BCSetActiveTextIndex(pBarCode, 1)</CODE> all future calls will be applied to text object #1 until another text object is activated in the same manner. \par Following functions are affected by BCSetActiveTextIndex(): BCSetDisplayText(), BCSetTextRotation(), BCSetLogFont(), BCSetTextAlignment(), BCSetTextPosition(), BCSetPrintText(), BCSetFontName(), BCSetFontHeight(), BCSetFontColor() \par BCGetDisplayText(), BCGetTextRotation(), BCGetLogFont(), BCGetTextAlignment(), BCGetTextPosition(), BCGetPrintText(), BCGetFontName(), BCGetFontHeight(), BCGetFontColor(), BCGetTextClipping(), BCIsWordWrappingEnabled() \param[in] pBarCode Pointer to barcode structure. \retval LONG The index of the currently active text setting.
----------------------------------------------------------------------------.

BOOL BCGetAutoCorrect ( t_BarCode * pBarCode )

Gets auto-correct option for Code 2 of 5 interleaved. Returns currently adjusted value.

See also:
BCSetAutoCorrect() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Enable auto-correct. This is the default
false   Disable auto-correct ----------------------------------------------------------------------------.

LPCSTR * BCGetAztecSizesA ( )

Returns the implemented Aztec Code symbol sizes. Returns all possible Aztec Code symbol sizes in an array.

See also:
BCGetAztecSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetAztecSizesCount()) ----------------------------------------------------------------------------.

LONG BCGetAztecSizesCount ( )

Returns the number of supported Aztec Code symbol-sizes. Returns the number of possible symbol sizes for Aztec Code.

See also:
BCGetAztecSizes()
Return values:
LONG   Number of supported Aztec Code symbol sizes ----------------------------------------------------------------------------.

LPCWSTR * BCGetAztecSizesW ( )

Returns the implemented Aztec Code symbol sizes. Returns all possible Aztec Code symbol sizes in an array.

See also:
BCGetAztecSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetAztecSizesCount()) ----------------------------------------------------------------------------.

LONG BCGetBCCount ( )

Returns number of implemented barcodes. Returns number of implemented barcodes. The return value specifies the size of the array returned by BCGetBCList().

Return values:
LONG   Number of supported barcode symbologies
See also:
BCGetBCList() ----------------------------------------------------------------------------.

LPCSTR * BCGetBCListA ( )

Returns implemented barcode symbologies Returns string-array of implemented barcodes. Use this function in connection with BCGetBCCount().

Return values:
LPCSTR   * String-array of supported barcode symbologies.
See also:
BCGetBCCount() ----------------------------------------------------------------------------.

LPCWSTR * BCGetBCListW ( )

Returns implemented barcode symbologies Returns string-array of implemented barcodes. Use this function in connection with BCGetBCCount().

Return values:
LPCSTR   * String-array of supported barcode symbologies.
See also:
BCGetBCCount() ----------------------------------------------------------------------------.

e_BarCType BCGetBCType ( t_BarCode * pBarCode )

Gets the barcode type (symbology) currently adjusted. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

See also:
BCSetBCType()
Return values:
e_BarCType   Bar-code type (symbology) enumerator. Code128 is the default ----------------------------------------------------------------------------.

VOID BCGetBackgroundColorCMYK ( const t_BarCode * pBarcode,
DOUBLE * pdCyan,
DOUBLE * pdMagenta,
DOUBLE * pdYellow,
DOUBLE * pdBlack )

Retrieves the background color of the barcode.

See also:
BCSetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorGray(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0) \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0) \param[out] pdYellow The yellow color component (range: 0.0 - 1.0) \param[out] pdBlack The black component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

VOID BCGetBackgroundColorGDI ( const t_BarCode * pBarcode,
COLORREF * pColor )

Retrieves the background color of the barcode.

See also:
BCSetBackgroundColorGDI(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGray(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode stored as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCGetBackgroundColorGray ( const t_BarCode * pBarcode,
DOUBLE * pdGray )

Retrieves the background color of the barcode.

See also:
BCSetBackgroundColorGray(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetBackgroundColorRGB ( const t_BarCode * pBarcode,
DOUBLE * pdRed,
DOUBLE * pdGreen,
DOUBLE * pdBlue )

Retrieves the background color of the barcode.

See also:
BCSetBackgroundColorRGB(), BCGetBackgroundColorCMYK(), BCGetBackgroundColorGDI(), BCGetBackgroundColorGray() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

e_BarShape BCGetBarShape ( t_BarCode * pBarCode )

Gets the current bar shape of the barcode. Returns currently adjusted value.

See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
eBarShape_Default   Draw bars in the barcode type's default shape.
e_BarShape   Bar Shape ----------------------------------------------------------------------------.

LPCSTR BCGetBarShape_ImageFileNameA ( t_BarCode * pBarCode )

Gets the file name used for drawing image shapes. Returns currently adjusted value.

Attention:
Not Implemented Yet
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Image file name set.
LPCSTR   The name of the image file used for drawing image shapes. ----------------------------------------------------------------------------.

LPCWSTR BCGetBarShape_ImageFileNameW ( t_BarCode * pBarCode )

Gets the file name used for drawing image shapes. Returns currently adjusted value.

Attention:
Not Implemented Yet
See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Image file name set.
LPCSTR   The name of the image file used for drawing image shapes. ----------------------------------------------------------------------------.

DOUBLE BCGetBarWidthReduction ( t_BarCode * pBarCode )

Gets current bar-width reduction value. Returns currently adjusted value.

See also:
BCSetBarWidthReduction(), BCGetBarWidthReductionUnit() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Reduction in percent [0...100]. No reduction: 0 (this is the default) ----------------------------------------------------------------------------.

e_MUnit BCGetBarWidthReductionUnit ( t_BarCode * pBarCode )

Gets current bar-width reduction unit. Returns currently adjusted unit.

See also:
BCSetBarWidthReduction(), BCGetBarWidthReduction() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Reduction in percent [0...100]. No reduction: 0 (this is the default) ----------------------------------------------------------------------------.

VOID BCGetBarcodeColorCMYK ( const t_BarCode * pBarcode,
DOUBLE * pdCyan,
DOUBLE * pdMagenta,
DOUBLE * pdYellow,
DOUBLE * pdBlack )

Retrieves the color of the barcode.

See also:
BCSetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorGray(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetBarcodeColorGDI ( const t_BarCode * pBarcode,
COLORREF * pColor )

Retrieves the color of the barcode.

See also:
BCSetBarcodeColorGDI(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGray(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode stored as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCGetBarcodeColorGray ( const t_BarCode * pBarcode,
DOUBLE * pdGray )

Retrieves the color of the barcode.

See also:
BCSetBarcodeColorGray(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorRGB() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetBarcodeColorRGB ( const t_BarCode * pBarcode,
DOUBLE * pdRed,
DOUBLE * pdGreen,
DOUBLE * pdBlue )

Retrieves the RGB color of the barcode.

See also:
BCSetBarcodeColorRGB(), BCGetBarcodeColorCMYK(), BCGetBarcodeColorGDI(), BCGetBarcodeColorGray() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0). \param[out] pdGreen The green color component (range: 0.0 - 1.0). \param[out] pdBlue The blue color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

DOUBLE BCGetBarcodeHeight ( t_BarCode * pBarCode,
LPRECT pRect,
HDC hDC,
e_MUnit eUnit )

Returns the height of the barcode symbol. Returns the total barcode height in the specified measurement unit. Use BCGetBarcodeSize() if you also need the width of the symbol. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle.
Relevant for 2D or Multi-Row Symbologies (e.g. PDF417, Data Matrix, RSS Stacked...): If a row height has been set, the bar code height depends on the adjusted row height and the number of rows in the symbol. For some symbologies also the module width is relevant for the symbol height.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)

See also:
BCGetBarcodeSize(), BCGetBarcodeWidth(), BCSetModWidth(), BCSet_PDF417_RowHeight()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. If you use a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Height of barcode symbol ----------------------------------------------------------------------------.

ERRCODE BCGetBarcodeSize ( t_BarCode * pBarCode,
LPRECT pRect,
HDC hDC,
e_MUnit eUnit,
DOUBLE * pdWidth,
DOUBLE * pdHeight )

Computes the barcode size (recommended method). Computes width and height of barcode with one call. You can use this function before you draw the barcode to ensure that there is enough space available. Call this function after BCCreate() and specify a bounding rectangle (target coordinates, where you would draw the barcode). This rectangle is relevant if you haven't specified a module width or a row height. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)

See also:
BCGetBarcodeHeight(), BCGetBarcodeWidth()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. With a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit. \param[in, out] pdWidth Pointer to resulting width (NULL if not required). \param[in, out] pdHeight Pointer to resulting height (NULL if not required).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

DOUBLE BCGetBarcodeWidth ( t_BarCode * pBarCode,
LPRECT pRect,
HDC hDC,
e_MUnit eUnit )

Returns the total width of the barcode symbol. Returns the total barcode width in the specified measurement unit for a given device context. You can specify the measurement unit, which should be used for the return value. Use BCGetBarcodeSize() if you also need the height of the symbol. As for the bounding rectangle pass in the same coordinates as you would use for drawing. Some symbologies have a specific width/height ratio and therefore the bar code size is adapted to fit into the bounding rectangle. If a module width has been set, the bar code width depends on the module width and the number of horizontal modules.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)

See also:
BCGetBarcodeHeight(), BCGetBarcodeSize(), BCSetModWidth()
Note:
Call this function after BCCreate(). Please take care of rotation if you use the result of this function to calculate the bounding rectangle for drawing. If you use a rotation of 90° or 270° the width is calculated from rect.top and rect.bottom and the height from rect.left and rect.right (return values depend on size mode and module width settings). \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Width of barcode symbol ----------------------------------------------------------------------------.

e_BearerBar BCGetBearerBarType ( t_BarCode * pBarCode )

Gets the current type of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 (for the default minimum bearer bar width) or a value > 0.
The vertical bearer bar is only displayed if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure.

Returns:
The bearer bar type.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCSetBearerBarType(), BCGetBearerBarWidth(), BCSetBearerBarWidth() ----------------------------------------------------------------------------.

LONG BCGetBearerBarWidth ( t_BarCode * pBarCode )

Gets the current width of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 for the default minimum bearer bar width or a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure.

Returns:
The width of the bearer bars in 1/1000 mm or -1 if the default minimum bearer bar width is used.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCSetBearerBarWidth(), BCGetBearerBarType(), BCSetBearerBarType() ----------------------------------------------------------------------------.

LONG BCGetBkMode ( t_BarCode * pBarCode )

Gets current background drawing mode. Returns currently adjusted value.

See also:
BCSetBkMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
1   Transparent
2   Opaque (background is filled with background color). This is the default. ----------------------------------------------------------------------------.

LPVOID BCGetCBData ( t_BarCode * pBarCode )

Gets the user-defined data that is passed to the callback functions.

\param[in] pBarCode Pointer to barcode structure.

See also:
BCDrawCB(), fn_DrawRow, fn_DrawBar, fn_DrawText

LONG BCGetCDCount ( )

Returns number of implemented check-digit methods. Returns the number of implemented check-digit methods. Use this function in connection with BCGetCDList().

See also:
BCGetCDList()
Return values:
LONG   Number of supported check-digit methods ----------------------------------------------------------------------------.

LPCSTR * BCGetCDListA ( )

Returns the implemented check-digit methods. Returns array of implemented check-digit methods. Use this function in connection with BCGetCDCount().

See also:
BCGetCDCount()
Return values:
LPCSTR   * String-array of implemented check-digit methods. ----------------------------------------------------------------------------.

e_CDMethod * BCGetCDListByType ( e_BarCType eBCType )

Returns the implemented check-digit methods for a barcode symbology. Returns an array of implemented check-digit methods for the specified barcode symbology. \param[in] eBCType Type of barcode.

Return values:
e_CDMethod   * Array of check-digit method enumerators. The array is terminated with -1 (maximum array size is 5). ----------------------------------------------------------------------------.

LPCWSTR * BCGetCDListW ( )

Returns the implemented check-digit methods. Returns array of implemented check-digit methods. Use this function in connection with BCGetCDCount().

See also:
BCGetCDCount()
Return values:
LPCSTR   * String-array of implemented check-digit methods. ----------------------------------------------------------------------------.

e_CDMethod BCGetCDMethod ( t_BarCode * pBarCode )

Gets the check-digit method currently in use. Returns currently adjusted value.

See also:
BCSetCDMethod() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCDStandard   No value set. This is the default. TBarCode computes the standard check-digit of the symbology.
e_CDMethod   Otherwise ----------------------------------------------------------------------------.

DOUBLE BCGetCharacterSpacing ( t_BarCode * pBarCode )

Gets the the character spacing of the currently active text object. Positive values increment the spacing, negative values decrement it.

The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCSetCharacterSpacing() \param[in] pBarCode Pointer to barcode structure. \retval DOUBLE The character spacing in points.
----------------------------------------------------------------------------.

LONG BCGetCheckDigitsA ( t_BarCode * pBarCode,
LPSTR lpszCDText,
LONG nSize )

Returns all computed check-digits for the current barcode. Returns a string that contains all computed check-digits - in most cases 1 or 2 character(s). The string may contain unprintable characters (e.g. ASCII 0). Please note that symbology internal check sums (e.g. Mod-103 with Code-128) are not returned here. Call this function after BCCalcCD() or after BCCreate()

See also:
BCCalcCD(), BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in, out] lpszCDText Check-digit text buffer. If NULL this function returns only the number of check-digits. \param[in] nSize Buffer size of lpszCDText.
Return values:
LONG   Number of check-digits
-1   In case of error (buffer size to small) ----------------------------------------------------------------------------.

LONG BCGetCheckDigitsW ( t_BarCode * pBarCode,
LPWSTR lpszCDText,
LONG nSize )

Returns all computed check-digits for the current barcode. Returns a string that contains all computed check-digits - in most cases 1 or 2 character(s). The string may contain unprintable characters (e.g. ASCII 0). Please note that symbology internal check sums (e.g. Mod-103 with Code-128) are not returned here. Call this function after BCCalcCD() or after BCCreate()

See also:
BCCalcCD(), BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in, out] lpszCDText Check-digit text buffer. If NULL this function returns only the number of check-digits. \param[in] nSize Buffer size of lpszCDText.
Return values:
LONG   Number of check-digits
-1   In case of error (buffer size to small) ----------------------------------------------------------------------------.

e_CodePage BCGetCodePage ( t_BarCode * pBarCode )

Gets the input data encoding code page. If the data encoding mode is set to eEncMode_CodePage this function specifies in which code page the input data is encoded. Otherwise the code page is ignored. If the this function returns eCodePage_Custom use the function BCGetCodePageCustom to receive the code page.

See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCSetCodePage(), BCSetCodePageCustom(), BCGetCodePageCustom() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_CodePage   The Code Page Identifier. ----------------------------------------------------------------------------.

UINT BCGetCodePageCustom ( t_BarCode * pBarCode )

Gets the input data encoding code page. (custom value) If another than a predefined code page is used (BCGetCodePage returns eCodePage_Custom), this function returns the code page identifier.

See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), BCSetCodePage(), BCSetCodePageCustom() \param[in] pBarCode Pointer to barcode structure.
Return values:
UINT   The Code Page Identifier. ----------------------------------------------------------------------------.

COLORREF BCGetColorBC ( t_BarCode * pBarCode )

Gets the current barcode color. Returns currently adjusted value.

Deprecated:
Handling of color values has been enhanced. Use BCGetBarcodeColorGDI(), BCGetBarcodeColorRGB(), BCGetBarcodeColorCMYK(), or BCGetBarcodeColorGray() instead.
See also:
BCSetColorBC() \param[in] pBarCode Pointer to barcode structure
Return values:
COLORREF   Current value. Black is the default ----------------------------------------------------------------------------.

COLORREF BCGetColorBk ( t_BarCode * pBarCode )

Gets the current background color. Returns currently adjusted value.

See also:
BCSetColorBk()
Deprecated:
Handling of color values has been enhanced. Use BCGetBackgroundColorGDI(), BCGetBackgroundColorRGB(), BCGetBackgroundColorCMYK(), or BCGetBackgroundColorGray() instead. \param[in] pBarCode Pointer to barcode structure.
Return values:
COLORREF   Current value. White is the default ----------------------------------------------------------------------------.

COLORREF BCGetColorFont ( t_BarCode * pBarCode )

Gets the current color of the human readable text. Returns currently adjusted value.

See also:
BCSetColorFont()
Deprecated:
Handling of color values has been enhanced. Use BCGetFontColorGDI(), BCGetFontColorRGB(), BCGetFontColorCMYK(), or BCGetFontColorGray() instead. \param[in] pBarCode Pointer to barcode structure.
Return values:
COLORREF   Current value. Black is the default ----------------------------------------------------------------------------.

COLORREF BCGetColorFromMetaData ( t_BarCode * pBarCode,
INT chMeta )

Converts a single meta character returned by BCGetMetaData into a corresponding color value. If the given meta character is a placeholder for a color value, the corresponding RGB color value is returned. For all other meta characters the function returns the invalid color value BC_USEDEFAULT (0xFFFFFFFF) \param[in] pBarCode Pointer to barcode structure. \param[in] chMeta Meta character.

Return values:
COLORREF   a valid color value if meta character stands for a color value or otherwise BC_USEDEFAULT (0xFFFFFFFF) ----------------------------------------------------------------------------.

e_ColorMode BCGetColorMode ( const t_BarCode * pBarcode )

Retrieves the color mode (CMYK, RGB, or Grayscale). \param[in] pBarcode Pointer to barcode structure

Returns:
The color mode ----------------------------------------------------------------------------.

e_Compression BCGetCompression ( t_BarCode * pBarCode )

Returns mode of data compression for barcode content. \param[in] pBarCode Pointer to barcode structure.

Return values:
Compression   mode. ----------------------------------------------------------------------.

LONG BCGetCountBars ( e_BarCType eBarCType )

Returns number of different bar-widths used by the symbology. Returns number of different bar-widths used for the specified barcode symbology.
Code 2 of 5 Interleaved uses two different bar-widths: the return value is 2.

See also:
BCGetRatioHint(), BCSetRatio(), BCGetRatio(), BCGetCountSpaces() \param[in] eBarCType Bar-code type.
Return values:
-1   In case of error
>0   Otherwise ----------------------------------------------------------------------------.

DOUBLE BCGetCountModules ( const t_BarCode * pBarCode )

Returns the number of modules in the barcode. Returns the number of modules for the current barcode with respect to encoded data, check-digits, subset and other barcode parameters. With 2D symbologies the total number of all modules (in all rows) will be returned.

Note:
To be used with linear symbologies.
Call this function after BCCreate()
See also:
BCGet2D_XCols()
Returns:
Number of modules ----------------------------------------------------------------------------.

LONG BCGetCountRows ( const t_BarCode * pBarCode )

Returns the number of rows in the barcode. Returns the number of rows in multi-row symbologies (PDF417, Data Matrix, Codablock-F, QR-Code, MicroPDF417, RSS Stacked versions)

Note:
To be used with the following symbologies: PDF417, Data Matrix, Codablock-F, QR-Code, MicroPDF417
Call this function after BCCreate()
See also:
BCGet2D_XRows() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of rows ----------------------------------------------------------------------------.

LONG BCGetCountSpaces ( e_BarCType eBarCType )

Returns number of different space-widths used by the symbology. Returns number of different space-widths for specified barcode symbology.
Code 2 of 5 Interleaved uses two different space-widths: the return value is 2.

See also:
BCGetRatioHint(), BCSetRatio(), BCGetRatio(), BCGetCountBars() \param[in] eBarCType Bar-code type.
Return values:
-1   In case of error
>0   Otherwise ----------------------------------------------------------------------------.

BOOL BCGetDCConversion ( t_BarCode * pBarCode )

Returns TRUE if Windows GDI device context (DC) conversion is activated. \param[in] pBarCode Pointer to barcode structure.

Return values:
TRUE   DC conversion is activated. (This is the default setting).
FALSE   DC conversion is deactivated. ----------------------------------------------------------------------------.

DOUBLE BCGetDPIHorz ( t_BarCode * pBarCode )

Gets current user-defined horizontal resolution. Gets current user-defined horizontal resolution.

See also:
BCSetDPI() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Horizontal DPI ----------------------------------------------------------------------------.

DOUBLE BCGetDPIVert ( t_BarCode * pBarCode )

Gets current user-defined vertical resolution. Gets current user-defined vertical resolution.

See also:
BCSetDPI() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Vertical DPI ----------------------------------------------------------------------------.

e_DMSizes * BCGetDataMatrixSizeListForType ( e_BarCType eBCType )

Returns implemented Data Matrix symbol sizes for given barcode type. Returns all possible Data Matrix symbol sizes for given barcode type in an array.

Remarks:
Background: Some barcode types base on Data Matrix (e.g. CMDM Mailmark) but use only a subset of the sizes available for Data Matrix.
If barcode type does not base on Data Matrix an empty list is returned.
See also:
BCGetDataMatrixSizesCount()
Return values:
e_DMSizes   * array of size enumerations (size is available via BCGetDataMatrixSizesCountExt()) ----------------------------------------------------------------------------.

LPCSTR * BCGetDataMatrixSizesA ( )

Returns implemented Data Matrix symbol sizes. Returns all possible Data Matrix symbol-sizes in an array.

See also:
BCGetDataMatrixSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetDataMatrixSizesCount()) ----------------------------------------------------------------------------.

LONG BCGetDataMatrixSizesCount ( )

Returns the number of supported Data Matrix symbol-sizes. Returns the number of possible symbol sizes for Data Matrix.

See also:
BCGetDataMatrixSizes()
Return values:
LONG   Number of supported Data Matrix symbol sizes ----------------------------------------------------------------------------.

LONG BCGetDataMatrixSizesCountForType ( e_BarCType eBCType )

Returns the number of supported Data Matrix symbol-sizes for of given barcode type. Returns the number of possible symbol sizes for Data Matrix for given barcode type.

Remarks:
Background: Some barcode types base on Data Matrix (e.g. CMDM Mailmark) but use only a subset of the sizes available for Data Matrix.
If barcode type does not base on Data Matrix '0' is returned.
See also:
BCGetDataMatrixSizes()
Return values:
LONG   Number of supported Data Matrix symbol sizes ----------------------------------------------------------------------------.

LPCWSTR * BCGetDataMatrixSizesW ( )

Returns implemented Data Matrix symbol sizes. Returns all possible Data Matrix symbol-sizes in an array.

See also:
BCGetDataMatrixSizesCount()
Return values:
LPCSTR   * String array (size is available via BCGetDataMatrixSizesCount()) ----------------------------------------------------------------------------.

e_Decoder BCGetDecoder ( t_BarCode * pBarCode )

Returns the type of decoder that will be used to read this barcodes. The module width will be optimized for this type of scanner. \param[in] pBarCode Pointer to barcode structure.

Return values:
Type   of scanner. ----------------------------------------------------------------------.

LPCSTR BCGetDefaultDataByTypeA ( e_BarCType eBCType )

Returns the default data according to given bar code type. Returns the default data as string for the specified barcode symbology. \param[in] eBCType Type of barcode.

Return values:
LPCSTR   The default data for given bar code type. ----------------------------------------------------------------------------.

LPCWSTR BCGetDefaultDataByTypeW ( e_BarCType eBCType )

Returns the default data according to given bar code type. Returns the default data as string for the specified barcode symbology. \param[in] eBCType Type of barcode.

Return values:
LPCSTR   The default data for given bar code type. ----------------------------------------------------------------------------.

e_BarShape BCGetDefaultShapeForBCType ( t_BarCode * pBarCode )

Gets the default bar shape for current barcode type. Returns default value.

See also:
BCSetBarShape() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_BarShape   Bar Shape ----------------------------------------------------------------------------.

LPCSTR BCGetDisplayTextA ( t_BarCode * pBarCode )

Retrieves the content of the currently active text object (usually the human readable text).

Note:
This function returns the value that was previously set by BCSetDisplayText(). It does NOT return the bar code content.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetDisplayText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval NULL No value set. This is the default \retval LPCSTR Human readable text
----------------------------------------------------------------------------.

LPCWSTR BCGetDisplayTextW ( t_BarCode * pBarCode )

Retrieves the content of the currently active text object (usually the human readable text).

Note:
This function returns the value that was previously set by BCSetDisplayText(). It does NOT return the bar code content.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetDisplayText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval NULL No value set. This is the default \retval LPCSTR Human readable text
----------------------------------------------------------------------------.

BOOL BCGetDrawMode ( t_BarCode * pBarCode )

Gets current method for drawing bars (Windows only). Returns currently adjusted value.

See also:
BCSetDrawMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Best performance method is used (drawing filled rectangles)
false   High quality method is used. This is the default. ----------------------------------------------------------------------------.

e_DrawMode BCGetDrawModeExt ( t_BarCode * pBarCode )

Gets current method for drawing bars (Windows only). Returns currently adjusted value.

See also:
BCSetDrawModeExt() \param[in] pBarCode Pointer to barcode structure.
Returns:
Current draw mode. ----------------------------------------------------------------------------.

e_EncodingMode BCGetEncodingMode ( t_BarCode * pBarCode )

Gets the data encoding mode. The data encoding mode specifies how TBarCode interprets the input data.

See also:
BCSetEncodingMode(), BCGetCodePage(), BCSetCodePage() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_EncodingMode   The Encoding Mode. ----------------------------------------------------------------------------.

ERRCODE BCGetEnhMetaFile ( t_BarCode * pBarCode,
HENHMETAFILE * phEMF,
LONG nWidth,
LONG nHeight )

Copies barcode into meta file (Windows only).

Attention:
phEMF must be released with the DeleteEnhMetaFile function if no longer used.
See also:
BCGetEnhMetaFileEx() \param[in] pBarCode Pointer to barcode structure. \param[out] phEMF Meta file handle to be drawn in. \param[in] nWidth Width of barcode to copy. \param[in] nHeight Height of barcode to copy.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCGetEnhMetaFileEx ( t_BarCode * pBarCode,
HENHMETAFILE * phEMF,
HDC hDC,
LONG nWidth,
LONG nHeight,
BOOL fTransparent )

Copies barcode into meta file (extended version, Windows only).

Attention:
phEMF must be released with the DeleteEnhMetaFile function if no longer used.
See also:
BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[out] phEMF Meta file handle to be drawn in. \param[in] hDC Device context to copy from (default: NULL). \param[in] nWidth Width of barcode to copy. \param[in] nHeight Height of barcode to copy. \param[in] fTransparent Barcode transparent or not
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

BOOL BCGetEpsSubstwDeviceFonts ( t_BarCode * pBarCode )

Gets current setting for substitute font names for EPS. Returns currently adjusted value.

See also:
BCSetEpsSubstwDeviceFonts() \param[in] pBarCode Pointer to barcode structure.
Return values:
false   No value set. This is the default
true   Otherwise ----------------------------------------------------------------------------.

VOID BCGetErrorTextA ( ERRCODE eCode,
LPSTR szText,
size_t nSize )

Returns error text to given error code. Returns the corresponding error text for a given error code. The returned string will be null-terminated.

Note:
WINDOWS only \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.

VOID BCGetErrorTextExtA ( t_BarCode * pBarCode,
ERRCODE eCode,
LPSTR szText,
size_t nSize )

Returns extended error text to given error code. Returns the detailed error text for a given error code. The returned string will be null-terminated and contains the error code, the error description and the source of the error (character position) if available.

Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.

VOID BCGetErrorTextExtW ( t_BarCode * pBarCode,
ERRCODE eCode,
LPWSTR szText,
size_t nSize )

Returns extended error text to given error code. Returns the detailed error text for a given error code. The returned string will be null-terminated and contains the error code, the error description and the source of the error (character position) if available.

Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.

VOID BCGetErrorTextW ( ERRCODE eCode,
LPWSTR szText,
size_t nSize )

Returns error text to given error code. Returns the corresponding error text for a given error code. The returned string will be null-terminated.

Note:
WINDOWS only \param[in] eCode Error code. \param[in, out] szText Error text buffer. \param[in] nSize Buffer size of szText. ----------------------------------------------------------------------------.

VOID BCGetFontColorCMYK ( const t_BarCode * pBarcode,
DOUBLE * pdCyan,
DOUBLE * pdMagenta,
DOUBLE * pdYellow,
DOUBLE * pdBlack )

Retrieves the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorGray(), BCGetFontColorRGB(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetFontColorGDI ( const t_BarCode * pBarcode,
COLORREF * pColor )

Sets the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGDI(), BCSetFontColorCMYK(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[out] pColor The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCGetFontColorGray ( const t_BarCode * pBarcode,
DOUBLE * pdGray )

Retrieves the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorGray(), BCGetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorRGB(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetFontColorRGB ( const t_BarCode * pBarcode,
DOUBLE * pdRed,
DOUBLE * pdGreen,
DOUBLE * pdBlue )

Retrieves the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCSetFontColorRGB(), BCGetFontColorCMYK(), BCGetFontColorGDI(), BCGetFontColorGray(), BCSetActiveTextIndex() \param[in] pBarcode Pointer to barcode structure. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

INT BCGetFontHeight ( t_BarCode * pBarCode )

Gets the font size in Point of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
INT   Font size in points. ----------------------------------------------------------------------------.

CHAR * BCGetFontNameA ( t_BarCode * pBarCode )

Gets the font of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
CHAR   * Name of font as a zero-terminated string. ----------------------------------------------------------------------------.

WCHAR * BCGetFontNameW ( t_BarCode * pBarCode )

Gets the font of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure.
Return values:
CHAR   * Name of font as a zero-terminated string. ----------------------------------------------------------------------------.

LPCSTR BCGetFormatA ( t_BarCode * pBarCode )

Gets current format string. Returns currently adjusted value.

See also:
BCSetFormat() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current format string. Default is NULL ----------------------------------------------------------------------------.

LPCWSTR BCGetFormatW ( t_BarCode * pBarCode )

Gets current format string. Returns currently adjusted value.

See also:
BCSetFormat() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current format string. Default is NULL ----------------------------------------------------------------------------.

fn_DrawBar BCGetFuncDrawBar ( t_BarCode * pBarCode )

Gets call-back function for drawing a bar. Returns currently adjusted function pointer.

See also:
BCSetFuncDrawBar() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawBar   Otherwise ----------------------------------------------------------------------------.

fn_DrawColoredBar BCGetFuncDrawColoredBar ( t_BarCode * pBarCode )

Gets call-back function for drawing a colored bar. Returns currently adjusted function pointer.

See also:
BCSetFuncDrawColoredBar() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawColoredBar   Otherwise ----------------------------------------------------------------------------.

fn_DrawHexagon BCGetFuncDrawHexagon ( t_BarCode * pBarCode )

Gets call-back function for drawing a MaxiCode hexagon. Returns currently adjusted function pointer.

See also:
BCSetFuncDrawHexagon() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawHexagon   Otherwise ----------------------------------------------------------------------------.

fn_DrawRing BCGetFuncDrawRing ( t_BarCode * pBarCode )

Gets call-back function for drawing a MaxiCode finder ring. Returns currently adjusted function pointer.

See also:
BCSetFuncDrawRing() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default.
fn_DrawRing   Otherwise ----------------------------------------------------------------------------.

fn_DrawRow BCGetFuncDrawRow ( t_BarCode * pBarCode )

Gets call-back function for drawing a single row of a barcode. Returns currently adjusted function pointer.

See also:
BCSetFuncDrawRaw() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawRow   Otherwise ----------------------------------------------------------------------------.

fn_DrawTextA BCGetFuncDrawTextA ( t_BarCode * pBarCode )

Gets call-back function for drawing a text Returns currently adjusted function pointer.

See also:
BCSetFuncDrawText() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawText   Otherwise ----------------------------------------------------------------------------.

fn_DrawTextW BCGetFuncDrawTextW ( t_BarCode * pBarCode )

Gets call-back function for drawing a text Returns currently adjusted function pointer.

See also:
BCSetFuncDrawText() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No call-back function defined. This is the default
fn_DrawText   Otherwise ----------------------------------------------------------------------------.

LONG BCGetHanXinVersionCount ( )

Returns number of implemented Han Xin Code versions. Returns the number of possible Han Xin Code versions

See also:
BCGetQRCodeVersions()
Return values:
LONG   Number of supported QR-code versions ----------------------------------------------------------------------------.

LPCSTR * BCGetHanXinVersionsA ( )

Returns implemented Han Xin Code versions. Returns all possible Han Xin Code versions (symbol sizes) in an array.

See also:
BCGetHanXinVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetHanXinVersionCount()) ----------------------------------------------------------------------------.

LPCWSTR * BCGetHanXinVersionsW ( )

Returns implemented Han Xin Code versions. Returns all possible Han Xin Code versions (symbol sizes) in an array.

See also:
BCGetHanXinVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetHanXinVersionCount()) ----------------------------------------------------------------------------.

BOOL BCGetIgnoreDpiFromDC ( t_BarCode * pBarCode )

Retrieves whether TBarCode ignores the resolution of the device context (Windows only).

\param[in,out] pBarCode Pointer to barcode structure.

Return values:
TRUE   TBarCode overwrites resolution from device context with custom resolution.
FALSE   TBarCode uses resolution of device context.
See also:
BCSetIgnoreDpiFromDC(), BCSetDPI()

INT BCGetInvalidDataPos ( t_BarCode * pBarCode )

Gets position of invalid character in input data. If BCCheck() or BCCreate() fails, this function allows you to determine the position of the first invalid character within the barcode text (see BCSetText()). Note: The returned position may not be accurate when using Escape Sequences in the input data. \param[in] pBarCode Pointer to barcode structure.

Return values:
INT   Zero-based index of invalid character. -1 if not available ----------------------------------------------------------------------------.

ERRCODE BCGetLibraryVersionA ( INT * pMajor,
INT * pMinor,
INT * pRelease,
INT * pRevision,
LPCSTR * pszVersion,
LPCSTR * pszBuildDate )

ERRCODE BCGetLibraryVersionW ( INT * pMajor,
INT * pMinor,
INT * pRelease,
INT * pRevision,
LPCWSTR * pszVersion,
LPCWSTR * pszBuildDate )

LOGFONTA * BCGetLogFont ( t_BarCode * pBarCode )

Gets the font of the currently active text object (usually the human readable text - Windows only). Returns currently adjusted value.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
We are using 8 Byte alignment! \par Windows only For UNIX use BCGetFontName() and BCGetFontHeight() instead. \see BCSetLogFont(), BCGetActiveTextIndex(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval LOGFONTA* Pointer to LOGFONTA structure.
----------------------------------------------------------------------------.

LONG BCGetMQRCodeVersionCount ( )

Returns number of implemented Micro QR-Code versions. Returns the number of possible Micro QR-Code versions

See also:
BCGetMQRCodeVersions()
Return values:
LONG   Number of supported Micro QR-code versions ----------------------------------------------------------------------------.

LPCSTR * BCGetMQRCodeVersionsA ( )

Returns implemented Micro QR-Code versions. Returns all possible Micro QR-Code versions (symbol sizes) in an array.

See also:
BCGetMQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetMQRCodeVersionCount()) ----------------------------------------------------------------------------.

LPCWSTR * BCGetMQRCodeVersionsW ( )

Returns implemented Micro QR-Code versions. Returns all possible Micro QR-Code versions (symbol sizes) in an array.

See also:
BCGetMQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetMQRCodeVersionCount()) ----------------------------------------------------------------------------.

LONG BCGetMaxLenOfData ( e_BarCType eType )

Returns the number of characters for a specified barcode. Returns the exact number of characters that can be encoded with the specified barcode symbology. Returns zero if there is no specified length or an unknown barcode type was passed. \param[in] eType Barcode type.

Return values:
>0   The number of expected input characters.
0   Number of input characters is unknown for this barcode. ----------------------------------------------------------------------------.

LONG BCGetMaximumTextIndex ( )

Gets the maximum text index. Returns the maximum index of available text objects.

See also:
BCSetActiveTextIndex(), BCGetActiveTextIndex()
Return values:
LONG   The maximum index. ----------------------------------------------------------------------------.

LPCSTR BCGetMetaDataA ( t_BarCode * pBarCode )

Returns meta-representation of a barcode. This function provides access to the meta-data of the current barcode row (refer to BCSetFuncDrawRow()). The result of this function is only valid, when it is called in the scope of your callback function (set by BCSetFuncDrawRow()).

Note:
Sample code is available on request: support@tec-it.com \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Meta-description of barcode row. ----------------------------------------------------------------------------.

LPCWSTR BCGetMetaDataW ( t_BarCode * pBarCode )

Returns meta-representation of a barcode. This function provides access to the meta-data of the current barcode row (refer to BCSetFuncDrawRow()). The result of this function is only valid, when it is called in the scope of your callback function (set by BCSetFuncDrawRow()).

Note:
Sample code is available on request: support@tec-it.com \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Meta-description of barcode row. ----------------------------------------------------------------------------.

BOOL BCGetMirror ( t_BarCode * pBarCode )

Gets if barcode is drawn mirrored (Windows only). Returns currently adjusted value.

See also:
BCSetMirror()
Note:
WINDOWS only. \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   barcode will be mirrored
FALSE   barcode will be drawn normally. This is the default ----------------------------------------------------------------------------.

LPCSTR BCGetModWidthA ( t_BarCode * pBarCode )

Gets the current module width (value is returned as string). Returns currently adjusted value.

See also:
BCSetModWidth(), BCSetModWidthN()
Note:
This method converts the module width to a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   String containing the module width [1/1000 mm] ----------------------------------------------------------------------------.

DOUBLE BCGetModWidthN ( t_BarCode * pBarCode )

Gets the module width. The value is returned as numeric parameter [0.001 mm].

See also:
BCSetModWidth() \param[in] pBarCode Pointer to barcode structure.
Returns:
Module width [1/1000 mm] (-1.0 = default). ----------------------------------------------------------------------------.

LPCWSTR BCGetModWidthW ( t_BarCode * pBarCode )

Gets the current module width (value is returned as string). Returns currently adjusted value.

See also:
BCSetModWidth(), BCSetModWidthN()
Note:
This method converts the module width to a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   String containing the module width [1/1000 mm] ----------------------------------------------------------------------------.

DOUBLE BCGetModuleWidth ( t_BarCode * pBarCode,
LPRECT pRect,
HDC hDC,
e_MUnit eUnit )

Returns the module width. Returns the computed module width for a given device context with respect to encoded data, check-digits, subset and other barcode parameters. You can specify the unit, which should be used for the return value.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch)

Note:
Call this function after BCCreate() \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.
Return values:
LONG   Module width ----------------------------------------------------------------------------.

BOOL BCGetMustFit ( t_BarCode * pBarCode )

Returns if the barcode must fit into the bounding rectangle. Returns currently adjusted value.

See also:
BCSetMustFit() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   TBarCode checks if barcode fits into bounding rectangle
false   TBarCode does not check if barcode fits into bounding rectangle. This is the default ----------------------------------------------------------------------------.

LPCSTR BCGetNameFromEnumA ( e_CDMethod eCDMethod )

Returns name of check-digit method. Returns string description of the check-digit method specified. \param[in] eCDMethod Check-digit method.

Return values:
LPCSTR   String describing the check-digit method specified. ----------------------------------------------------------------------------.

LPCWSTR BCGetNameFromEnumW ( e_CDMethod eCDMethod )

Returns name of check-digit method. Returns string description of the check-digit method specified. \param[in] eCDMethod Check-digit method.

Return values:
LPCSTR   String describing the check-digit method specified. ----------------------------------------------------------------------------.

LONG BCGetNotchHeight ( t_BarCode * pBarCode )

Gets the current additional length of the synchronization bars (notches). Returns currently adjusted value.

See also:
BCSetNotchHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Otherwise [1/1000 mm] ----------------------------------------------------------------------------.

BOOL BCGetOptResolution ( t_BarCode * pBarCode )

Gets current barcode optimizing behavior. Returns currently adjusted value.

See also:
BCSetOptResolution() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Optimization is enabled
false   Optimization is disabled. This is the default ----------------------------------------------------------------------------.

ERRCODE BCGetOptimalBitmapSize ( t_BarCode * pBarCode,
LPRECT pRect,
LONG nScaleX,
LONG nScaleY )

Returns the optimal size of a bitmap for given bar code settings. The optimal bitmap size depends on the number of horizontal bar/space modules and also on the number of vertical rows (multi-row or matrix codes). The default height for linear codes can be preset by the pRect->bottom parameter. This function also takes the DPI property into account. You can use the returned values as input for the save image functions.

Note:
This function calculates the bar code size for a rotation of 0 degrees.
If a quiet zone is set, it is considered automatically by GetOptimalBitmapSize. But note that only quiet zones given in modules or pixels can be handled. The other units lead to an error because a device context would be needed for a proper bitmap size calculation. If you apply the results for a rotated bar code of 90° or 270° you have to exchange width and height.
See also:
BCSetDPI(), BCSaveImage(), BCSaveImageToBuffer(), BCBitmapToFile(), BCBitmapToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in, out] pRect [in] The size of the bounding rectangle without HRT (for barcode orientation of 0 degrees) in Pixels. [out] The size of the optimal bitmap including HRT (if any) in Pixels. \param[in] nScaleX Horizontal scaling factor. \param[in] nScaleY Vertical scaling factor.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

LPCSTR BCGetOptionsA ( t_BarCode * pBarCode,
LPCSTR szFilter )

Retrieves the option string that contains all applied options. If operation fails, e.g. if no options that apply to the filter have been found, NULL is returned.

See also:
BCSetOption() \param[in,out] pBarCode Pointer to barcode structure. \param[in] szFilter (not implemented, yet) Filter string to restrict the returned option string. If filter is NULL or empty only a default set of options is returned.
Returns:
The option string or NULL if the operation fails. ---------------------------------------------------------------------------.

LPCWSTR BCGetOptionsW ( t_BarCode * pBarCode,
LPCWSTR szFilter )

Retrieves the option string that contains all applied options. If operation fails, e.g. if no options that apply to the filter have been found, NULL is returned.

See also:
BCSetOption() \param[in,out] pBarCode Pointer to barcode structure. \param[in] szFilter (not implemented, yet) Filter string to restrict the returned option string. If filter is NULL or empty only a default set of options is returned.
Returns:
The option string or NULL if the operation fails. ---------------------------------------------------------------------------.

e_PCLMode BCGetPCLMode ( const t_BarCode * pBarcode )

Retrieves the PCL output mode.

See also:
BCSetPCLMode() \param[in] pBarcode Pointer to barcode structure
Returns:
The PCL output mode. ----------------------------------------------------------------------------.

ERRCODE BCGetPostscriptMacrosA ( LPSTR pszMacros,
INT * pnSize )

Returns Postscript macros of the Postscript code as a zero-terminated string. This function is useful when embedding multiple barcodes in a single Postscript document using BCPostscriptToMemoryExt().
The Postscript codes returned by BCPostscriptToMemory() or BCPostscriptToMemoryExt() internally use a series of Postscript macros. These macros are defined at the begin of each barcode. When having several barcodes in a single Postscript document the macros need to be defined only once. To achieve this the Postscript code that defines the macros can be retrieved with this function. The barcodes can then be generated using BCPostscriptToMemoryExt() and setting bIncludeMacros to false. param[in,out] pszMacros Pointer to a memory block. param[in,out] pnSize Size of memory block as allocated. Contains required size after function call.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCGetPostscriptMacrosW ( LPWSTR pszMacros,
INT * pnSize )

Returns Postscript macros of the Postscript code as a zero-terminated string. This function is useful when embedding multiple barcodes in a single Postscript document using BCPostscriptToMemoryExt().
The Postscript codes returned by BCPostscriptToMemory() or BCPostscriptToMemoryExt() internally use a series of Postscript macros. These macros are defined at the begin of each barcode. When having several barcodes in a single Postscript document the macros need to be defined only once. To achieve this the Postscript code that defines the macros can be retrieved with this function. The barcodes can then be generated using BCPostscriptToMemoryExt() and setting bIncludeMacros to false. param[in,out] pszMacros Pointer to a memory block. param[in,out] pnSize Size of memory block as allocated. Contains required size after function call.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

BOOL BCGetPrintText ( t_BarCode * pBarCode )

Determines if the currently active text object (usually the human readable text) is visible.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCSetPrintText(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Text is shown (This is the default for the human readable text).
false   Text is not shown (This is the default for the extra texts). ----------------------------------------------------------------------------.

LONG BCGetQRCodeVersionCount ( )

Returns number of implemented QR-Code versions. Returns the number of possible QR-Code versions

See also:
BCGetQRCodeVersions()
Return values:
LONG   Number of supported QR-code versions ----------------------------------------------------------------------------.

LPCSTR * BCGetQRCodeVersionsA ( )

Returns implemented QR-Code versions. Returns all possible QR-Code versions (symbol sizes) in an array.

See also:
BCGetQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetQRCodeVersionCount()) ----------------------------------------------------------------------------.

LPCWSTR * BCGetQRCodeVersionsW ( )

Returns implemented QR-Code versions. Returns all possible QR-Code versions (symbol sizes) in an array.

See also:
BCGetQRCodeVersionCount()
Return values:
LPCSTR   * String array (size is available via BCGetQRCodeVersionCount()) ----------------------------------------------------------------------------.

LONG BCGetQuality ( t_BarCode * pBarCode,
HDC hDC,
RECT * pRect )

Returns drawing quality estimate of the barcode (in percent) (Windows only). TBarCode computes the expected barcode quality depending on the used output resolution. This value is a measure for the bar width aberration created by the output resolution of the device context (and therefore of the device itself). The higher the quality value - the better.

Note:
WINDOWS only. \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle of output device. \param[in] pRect IN : Bounding rectangle.
Return values:
LONG   Bar-code quality [0 (unreadable)...100 (perfect)] ----------------------------------------------------------------------------.

const LPRECTD BCGetQuietZone ( t_BarCode * pBarCode )

Gets current quiet-zone settings. Returns currently adjusted value.

See also:
BCSetQuietZone() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCRECT   rectangle specifying the quiet-zone dimensions [modules]. ----------------------------------------------------------------------------.

VOID BCGetQuietZoneColorCMYK ( const t_BarCode * pBarcode,
e_QuietZone eZone,
DOUBLE * pdCyan,
DOUBLE * pdMagenta,
DOUBLE * pdYellow,
DOUBLE * pdBlack )

Retrieves the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdCyan The cyan color component (range: 0.0 - 1.0). \param[out] pdMagenta The magenta color component (range: 0.0 - 1.0). \param[out] pdYellow The yellow color component (range: 0.0 - 1.0). \param[out] pdBlack The black component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetQuietZoneColorGDI ( const t_BarCode * pBarcode,
e_QuietZone eZone,
COLORREF * pColor )

Retrieves the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorGDI(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pColor The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCGetQuietZoneColorGray ( const t_BarCode * pBarcode,
e_QuietZone eZone,
DOUBLE * pdGray )

Retrieves the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorGray(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdGray The grayscale color of the barcode (range 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCGetQuietZoneColorRGB ( const t_BarCode * pBarcode,
e_QuietZone eZone,
DOUBLE * pdRed,
DOUBLE * pdGreen,
DOUBLE * pdBlue )

Retrieves the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetQuietZoneColorRGB(), BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCSetBkMode() \param[in] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[out] pdRed The red color component (range: 0.0 - 1.0) \param[out] pdGreen The green color component (range: 0.0 - 1.0) \param[out] pdBlue The blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

e_MUnit BCGetQuietZoneUnit ( t_BarCode * pBarCode )

Gets current measurement unit used for specifying quiet-zones. Returns currently adjusted value.

See also:
BCSetQuietZone() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_QZMUnit   Unit enumerator. ----------------------------------------------------------------------------.

LPCSTR BCGetRatioA ( t_BarCode * pBarCode )

Gets current print-ratio string. Returns currently adjusted value.

See also:
BCSetRatio(), BCGetRatioHint(), BCGetRatioString() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current ratio-string in format similar to "1B:2B:...1S:2S" ----------------------------------------------------------------------------.

LPCSTR BCGetRatioHint ( e_BarCType eType )

Returns the format hint for the print-ratio. Return the format of the ratio-string (to be used only as hint for users or developers). This hint serves as template for your own print-ratio strings passed to BSSetRatio(). The value depends on the selected barcode symbology. Learn more about it in the Barcode Reference.

See also:
BCSetRatio(), BCGetRatio(), BCGetRatioString() \param[in] eType Barcode type.
Return values:
LPCSTR   Bar-code symbology depending string in the format "1B:2B:...:1S:2S" ----------------------------------------------------------------------------.

LPCSTR BCGetRatioString ( e_BarCType eType )

Returns the default print-ratio string of the barcode. Returns the default print-ratio of the selected barcode type as string. The ratio string looks like "1:3:1:3" where the single values separated by colons corresponds to the ratio-values of the bars or spaces. The format of the ratio-string matches the format of the ratio-hint (see BCGetRatioHint()). This default value is used if no other print-ratio was selected.

See also:
BCSetRatio(), BCGetRatioHint() \param[in] eType Barcode type.
Return values:
LPCSTR   Bar-code symbology depending string in the format "1:2:...:1:2" ----------------------------------------------------------------------------.

LPCWSTR BCGetRatioW ( t_BarCode * pBarCode )

Gets current print-ratio string. Returns currently adjusted value.

See also:
BCSetRatio(), BCGetRatioHint(), BCGetRatioString() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCSTR   Current ratio-string in format similar to "1B:2B:...1S:2S" ----------------------------------------------------------------------------.

e_Degree BCGetRotation ( t_BarCode * pBarCode )

Gets the current rotation of the barcode. Returns currently adjusted value.

See also:
BCSetRotation() \param[in] pBarCode Pointer to barcode structure.
Return values:
deg0   No Rotation. This is the default
e_Degree   Rotation (counter-clockwise) ----------------------------------------------------------------------------.

e_SizeMode BCGetSizeMode ( const t_BarCode * pBarCode )

Retrieves the mode that determines the barcode size. If operation fails, eSizeMode_Default (= -1) is returned. \param[in] pBarCode Pointer to barcode structure.

Returns:
Mode that describes how the barcode size is determined. ----------------------------------------------------------------------.

LPCSTR BCGetTextA ( t_BarCode * pBarCode )

Gets barcode text. Returns the data to be encoded as barcode (also called utilizable data).

See also:
BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCWSTR   Text to be encoded as barcode (UNICODE) ----------------------------------------------------------------------------.

BOOL BCGetTextAbove ( t_BarCode * pBarCode )

Determines if human-readable text is printed below or above the barcode.

Note:
This function is only supported by the human readable text but NOT by the extra texts.
See also:
BCSetPrintText() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Text is printed above barcode
false   Text is printed below barcode. This is the default ----------------------------------------------------------------------------.

e_BCAlign BCGetTextAlignment ( t_BarCode * pBarCode )

Gets the alignment of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
e_BCAlign   Alignment enumerator ----------------------------------------------------------------------------.

DOUBLE BCGetTextAreaHeight ( t_BarCode * pBarCode,
LPRECT pRect,
HDC hDC,
e_MUnit eUnit )

Returns the height of the human readable text area. Returns the height of the human readable text area in the specified measurement unit.
hDC can be NULL. In this case the bounding rectangle must be specified in 1/1000 mm. The measurement units are: - eMUDefault ... logical units of the given device context. - eMUMM ... millimeters - eMUPixel ... pixels if device context is given, otherwise points (= 1/72 inch) \param[in] pBarCode Pointer to barcode structure. \param[in] pRect Bounding rectangle. \param[in] hDC Device context handle. \param[in] eUnit Measurement unit.

Return values:
0   If no text-area used for barcode.
>0   Height of text-area in the specified measurement units. ----------------------------------------------------------------------------.

BOOL BCGetTextClipping ( t_BarCode * pBarCode )

Determines if the currently active text object (usually the human readable text) is clipped.

Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval true Text is clipped. \retval false Text is not clipped.
----------------------------------------------------------------------------.

LONG BCGetTextDist ( t_BarCode * pBarCode )

Retrieves the distance between the human readable text and the barcode.

Note:
This function is only supported by the human readable text and NOT by the extra texts.
See also:
BCSetTextDist() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set - distance is computed automatically. This is the default
LONG   Distance between barcode and human readable text [1/1000 mm] ----------------------------------------------------------------------------.

LONG BCGetTextLen ( t_BarCode * pBarCode )

Gets length of barcode input data. Gets the length of the data set by the user.

See also:
BCSetTextA(), BCSetTextW(), BCGetTextLenCompressed() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of characters ----------------------------------------------------------------------------.

LONG BCGetTextLenCompressed ( t_BarCode * pBarCode )

Gets length of barcode input data (after compression). Gets the length of the data to be encoded.

See also:
BCSetTextA(), BCSetTextW(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of characters ----------------------------------------------------------------------------.

RECT BCGetTextPosition ( t_BarCode * pBarCode )

Gets the position of the currently active text object. The text position is specified by a bounding rectangle. The coordinates of this rectangle are relative to the bar code's bounding rectangle.

Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval RECT The bounding rectangle of the text.
----------------------------------------------------------------------------.

e_Degree BCGetTextRotation ( t_BarCode * pBarCode )

Gets the the rotation of the currently active text object. The text rotation is defined relatively to the bar code rotation. This means that both rotation values will be added.

Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCSetTextRotation() \param[in] pBarCode Pointer to barcode structure. \retval e_Degree The text rotation (counter-clockwise).
----------------------------------------------------------------------------.

LPCWSTR BCGetTextW ( t_BarCode * pBarCode )

Gets barcode text. Returns the data to be encoded as barcode (also called utilizable data).

See also:
BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
LPCWSTR   Text to be encoded as barcode (UNICODE) ----------------------------------------------------------------------------.

BOOL BCGetTranslateEsc ( t_BarCode * pBarCode )

Gets current state information regarding escape-sequence translation. Returns currently adjusted value.

See also:
BCSetTranslateEsc() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Escape sequences are translated
false   Escape sequences are not translated. This is the default ----------------------------------------------------------------------------.

BOOL BCGetUseQuietZoneDefaultColor ( t_BarCode * pBarCode,
e_QuietZone eZone )

Determines whether default background color shall be used for given quiet zone side. Returns currently adjusted value.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCSetBkMode(), BCGetBkMode(), BCSetColorBk(), BCGetColorBk(), BCSetQuietZoneColorCMYK(), BCSetQuietZoneColorGDI(), BCSetQuietZoneColorGray(), BCSetQuietZoneColorRGB() \param[in] pBarCode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side.
Return values:
BOOL   TRUE if default color shall be used, FALSE otherwise. ----------------------------------------------------------------------------.

BOOL BCGet_Aztec_AppendActive ( t_BarCode * pBarCode )

Determines whether the structured append mode is active. Returns TRUE if structured append mode is active, otherwise FALSE

See also:
BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   if structured append mode is active
FALSE   if structured append mode is inactive (default) ----------------------------------------------------------------------------.

CHAR BCGet_Aztec_AppendIndexA ( t_BarCode * pBarCode )

Gets the current index of the symbol in Aztec Code Structured Append mode. Returns currently adjusted value.

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.

WCHAR BCGet_Aztec_AppendIndexW ( t_BarCode * pBarCode )

Gets the current index of the symbol in Aztec Code Structured Append mode. Returns currently adjusted value.

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.

LPCSTR BCGet_Aztec_AppendMessageIDA ( t_BarCode * pBarCode )

Gets the adjusted Message-ID in Aztec Code Structured Append mode. Returns currently adjusted value.

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Message-ID set. This is the default.
LPCSTR   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_Aztec_AppendMessageIDW ( t_BarCode * pBarCode )

Gets the adjusted Message-ID in Aztec Code Structured Append mode. Returns currently adjusted value.

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No Message-ID set. This is the default.
LPCSTR   Otherwise ----------------------------------------------------------------------------.

CHAR BCGet_Aztec_AppendTotalA ( t_BarCode * pBarCode )

Gets the adjusted total number of symbols in the Aztec Code Structured Append mode. Returns currently adjusted value

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.

WCHAR BCGet_Aztec_AppendTotalW ( t_BarCode * pBarCode )

Gets the adjusted total number of symbols in the Aztec Code Structured Append mode. Returns currently adjusted value

See also:
BCSet_Aztec_AppendData() \param[in] pBarCode Pointer to barcode structure.
Return values:
A   '..'Z'] which means 1..26. The default value is 'A'. ----------------------------------------------------------------------------.

BOOL BCGet_Aztec_EnforceBinaryEncoding ( t_BarCode * pBarCode )

Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE

See also:
BCSet_Aztec_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.

LONG BCGet_Aztec_ErrorCorrection ( t_BarCode * pBarCode )

Gets the number of error correction codewords in percent of the symbol size Returns currently adjusted value

See also:
BCSet_Aztec_ErrorCorrection() \param[in] pBarCode Pointer to barcode structure.
Return values:
0..99  
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.

e_AztecFormat BCGet_Aztec_Format ( t_BarCode * pBarCode )

Gets the current Aztec Code Encoding Format. Returns currently adjusted value

See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eAztecFm_Default   This is the default
e_AztecFormat   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_Aztec_FormatSpecifierA ( t_BarCode * pBarCode )

Gets the current Aztec Code Encoding Format specifier for industry format. Returns currently adjusted value

See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No format specifier. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_Aztec_FormatSpecifierW ( t_BarCode * pBarCode )

Gets the current Aztec Code Encoding Format specifier for industry format. Returns currently adjusted value

See also:
BCSet_Aztec_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No format specifier. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_Aztec_RuneMode ( t_BarCode * pBarCode )

Determines whether the symbol is in Aztec Rune Mode. Returns currently adjusted value

See also:
BCSet_Aztec_RuneMode() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   symbol is in Aztec Rune mode (numbers from 0 to 255)
FALSE   symbol is in Aztec Code mode ----------------------------------------------------------------------------.

e_AztecSizes BCGet_Aztec_Size ( t_BarCode * pBarCode )

Gets currently adjusted Aztec Code symbol size. Returns currently adjusted value.

See also:
BCSet_Aztec_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eAztecSz_Default   No value set. This is the default (TBarCode determines the optimal symbol size automatically)
e_AztecSizes   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_CBF_Columns ( t_BarCode * pBarCode )

Gets the number of adjusted Codablock-F columns. Returns currently adjusted value.

See also:
BCSet_CBF_Columns() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
4..62   ] Otherwise ----------------------------------------------------------------------------.

e_CBFFormat BCGet_CBF_Format ( t_BarCode * pBarCode )

Gets the adjusted Codablock-F code format. Returns currently adjusted value.

See also:
BCSet_CBF_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eCBFPr_Default   No value set. This is the default
e_CBFFormat   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_CBF_RowHeight ( t_BarCode * pBarCode )

Gets the adjusted row height for Codablock-F. Returns currently adjusted value.

See also:
BCSet_CBF_RowHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Row height [1/1000 mm] ----------------------------------------------------------------------------.

LONG BCGet_CBF_RowSeparatorHeight ( t_BarCode * pBarCode )

Gets the currently adjusted row separator height for Codablock-F. Returns currently adjusted value.

See also:
BCSet_CBF_RowSeparatorHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
LONG   Row separator height [1/1000 mm] ----------------------------------------------------------------------------.

LONG BCGet_CBF_Rows ( t_BarCode * pBarCode )

Gets the adjusted number of Codablock-F rows. Returns currently adjusted value.

See also:
BCSet_CBF_Rows() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..44   ] Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_CompSym_ErrorInCC ( t_BarCode * pBarCode )

Determines the source of the error when creating composite symbologies. If BCCreate() returns with an error this function indicates whether the error happened in the base symbology or in the composite symbol. Example: If the composite component could not be created due to wrong data this function returns true. \param[in] pBarCode Pointer to barcode structure.

Return values:
true   Error occurred during creation of the composite component
false   Error occurred during creation of the base symbology ----------------------------------------------------------------------------.

BOOL BCGet_CompSym_IsCCAvailable ( t_BarCode * pBarCode,
e_CCType eCCType )

Check if a composite component is available for the current base symbology. Used with GS1 Composite Symbology. Tells you if a specific 2D composite component (CC-A/B/C) can be combined with the selected base symbology. Adjust the base symbology first with BCSetBCType(). \param[in] pBarCode Pointer to barcode structure. \param[in] eCCType Composite component type (symbology of composite component).

Return values:
true   The specified composite component is available
false   The specified composite component is not available ----------------------------------------------------------------------------.

BOOL BCGet_CompSym_IsCCPresent ( t_BarCode * pBarCode )

Determines if a composite component was created. After BCCreate() you can check if a composite component is present (and therefore is part of the created symbol). This method is useful if you adjusted a composite component to be created but - depending on missing input data - the composite component may be omitted (only the linear bar code appears).

Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   A composite component was created
false   No composite component was created ----------------------------------------------------------------------------.

LONG BCGet_DM_AppendFileID ( t_BarCode * pBarCode )

Gets the adjusted File-ID in Data Matrix Structured Append mode. Returns currently adjusted value.

See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
LONG   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_DM_AppendIndex ( t_BarCode * pBarCode )

Gets the current index of the symbol in Data Matrix Structured Append mode. Returns currently adjusted value.

See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
1..16   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_DM_AppendSum ( t_BarCode * pBarCode )

Gets the adjusted total number of symbols in Data Matrix Structured Append mode. Returns currently adjusted value

See also:
BCSet_DM_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No Structured Append. This is the default
2..16   ] Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_DM_EnforceBinaryEncoding ( t_BarCode * pBarCode )

Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE

See also:
BCSet_DM_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.

e_DMFormat BCGet_DM_Format ( t_BarCode * pBarCode )

Gets the current Data Matrix Encoding Format. Returns currently adjusted value

See also:
BCSet_DM_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDMPr_Default   This is the default
e_DMFormat   Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_DM_Rectangular ( t_BarCode * pBarCode )

Gets if rectangular Data Matrix sizes are preferred. Returns currently adjusted value.

See also:
BCSet_DM_Rectangular() \param[in] pBarCode Pointer to barcode structure.
Return values:
false   Square sizes are preferred. This is the default
true   Rectangular sizes are preferred. ----------------------------------------------------------------------------.

e_DMSizes BCGet_DM_Size ( t_BarCode * pBarCode )

Gets currently adjusted Data Matrix symbol size. Returns currently adjusted value.

See also:
BCSet_DM_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDMSz_Default   No value set. This is the default (TBarCode determines the optimal symbol size automatically)
e_DMSizes   Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_DotCode_AppendActive ( t_BarCode * pBarCode )

LONG BCGet_DotCode_AppendIndex ( t_BarCode * pBarCode )

LONG BCGet_DotCode_AppendTotal ( t_BarCode * pBarCode )

LPCSTR BCGet_DotCode_DefaultSizeForModeA ( e_DCSizeMode eMode )

LPCWSTR BCGet_DotCode_DefaultSizeForModeW ( e_DCSizeMode eMode )

BOOL BCGet_DotCode_EnforceBinaryEncoding ( t_BarCode * pBarCode )

e_DCFormat BCGet_DotCode_Format ( t_BarCode * pBarCode )

LPCSTR BCGet_DotCode_FormatSpecifierA ( t_BarCode * pBarCode )

LPCWSTR BCGet_DotCode_FormatSpecifierW ( t_BarCode * pBarCode )

e_DCMask BCGet_DotCode_Mask ( t_BarCode * pBarCode )

e_DCPrintDirection BCGet_DotCode_PrintDirection ( t_BarCode * pBarCode )

LPCSTR BCGet_DotCode_SizeA ( t_BarCode * pBarCode )

Gets the current DotCode size. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").

See also:
BCSet_DotCode_Size(), BCGet_DotCode_SizeMode(), \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No size. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.

e_DCSizeMode BCGet_DotCode_SizeMode ( t_BarCode * pBarCode )

Gets size mode of DotCode symbol. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").

See also:
BCGet_DotCode_Size(), BCSet_DotCode_Size() \param[in] pBarCode Pointer to barcode structure.
Return values:
eDCSm_Default   No value set. This is the default. Ratio between columns and rows is "3:2".
e_DCSizeMode   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_DotCode_SizeW ( t_BarCode * pBarCode )

Gets the current DotCode size. Returns currently adjusted value. The meaning of the size value depends on the current size mode: - eDCSm_Default: the size value is ignored. The ratio between width and height is "3:2". - eDCSm_RatioWidthHeight: the size value contains the ratio between width and height ("w:h"). - eDCSm_FixedWidth: the size value contains the width in number of dots. - eDCSm_FixedHeight: the size value contains the height in number of dots. - eDCSm_FixedWidthHeight: the size value contains the width and height in number of dots ("wxh").

See also:
BCSet_DotCode_Size(), BCGet_DotCode_SizeMode(), \param[in] pBarCode Pointer to barcode structure.
Return values:
\0   No size. This is the default
LPCSTR   Otherwise ----------------------------------------------------------------------------.

e_HanXinECLevel BCGet_HanXin_ECLevel ( t_BarCode * pBarCode )

Gets the current Han Xin Code error correction level (ECL). Returns currently adjusted value.

See also:
BCSet_HanXin_ECLevel() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinEC_L1   This is the default
e_HanXinECLevel   Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_HanXin_EnforceBinaryEncoding ( t_BarCode * pBarCode )

Determines whether the data is encoded in binary format. Returns TRUE if data is encoded in binary mode only, otherwise FALSE

See also:
BCSet_HanXin_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure.
Return values:
TRUE   data is encoded in binary format
FALSE   data is encoded in mixed (=text and binary) format ----------------------------------------------------------------------------.

e_HanXinMask BCGet_HanXin_Mask ( t_BarCode * pBarCode )

Gets the current Han Xin Code mask pattern (0-3). Returns currently adjusted value

See also:
BCSet_HanXin_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinMsk_Default   No value set. This is the default
e_HanXinMask   Otherwise ----------------------------------------------------------------------------.

e_HanXinSizes BCGet_HanXin_Version ( t_BarCode * pBarCode )

Gets the current symbol version (the symbol size). Returns currently adjusted value.

See also:
BCSet_HanXin_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eHanXinVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_HanXinSizes   Otherwise ----------------------------------------------------------------------------.

e_MPDFMode BCGet_MPDF417_Mode ( t_BarCode * pBarCode )

Gets Micro PDF encoding mode. Returns currently adjusted value.

See also:
BCSet_MPDF417_Mode() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMPDFPr_Default   No value set. This is the default
e_MPDFMode   Otherwise ----------------------------------------------------------------------------.

e_MPDFVers BCGet_MPDF417_Version ( t_BarCode * pBarCode )

Gets Micro PDF Version (symbol size). Returns currently adjusted value.

See also:
BCSet_MPDF417_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMPDFVer_Default   No value set. This is the default
e_MPDFVers   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_MPDF417_VersionCount ( )

Returns number of implemented MicroPDF417 versions.

See also:
BCGet_MPDF417_Versions()
Return values:
LONG   Number of supported MicroPDf417 versions ----------------------------------------------------------------------------.

LPCSTR * BCGet_MPDF417_VersionsA ( )

Returns all possible MicroPDF417 versions (symbol sizes) in an array.

See also:
BCGet_MPDF417_VersionCount()
Return values:
LPCSTR   * String array (size is available via BCGet_MPDF417_VersionCount()) ----------------------------------------------------------------------------.

LPCWSTR * BCGet_MPDF417_VersionsW ( )

Returns all possible MicroPDF417 versions (symbol sizes) in an array.

See also:
BCGet_MPDF417_VersionCount()
Return values:
LPCSTR   * String array (size is available via BCGet_MPDF417_VersionCount()) ----------------------------------------------------------------------------.

e_MQRMask BCGet_MQR_Mask ( t_BarCode * pBarCode )

Gets the current Micro QR-Code mask pattern (0-7). Returns currently adjusted value

See also:
BCSet_MQR_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMQRMsk_Default   No value set. This is the default
e_MQRMask   Otherwise ----------------------------------------------------------------------------.

e_MQRVersion BCGet_MQR_Version ( t_BarCode * pBarCode )

Gets the current symbol version (the symbol size). Returns currently adjusted value.

See also:
BCSet_MQR_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eMQRVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_MQRVersion   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_Maxi_AppendIndex ( t_BarCode * pBarCode )

Gets index of current symbol in "Structured Append" mode of MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
-1   No value set. This is the default
1..8   ] Otherwise
See also:
BCSet_Maxi_Append() ----------------------------------------------------------------------------.

LONG BCGet_Maxi_AppendSum ( t_BarCode * pBarCode )

Gets total number of symbols in "Structured Append" mode of MaxiCode. Returns currently adjusted value \param[in] pBarCode Pointer to barcode structure.

Return values:
-1   No value set. This is the default
2..8   ] Otherwise
See also:
BCSet_Maxi_Append() ----------------------------------------------------------------------------.

LONG BCGet_Maxi_Mode ( t_BarCode * pBarCode )

Gets current encoding mode for MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

See also:
BCSet_Maxi_Mode()
Return values:
4   This is the default
>0   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_Maxi_PreambleDateA ( t_BarCode * pBarCode )

Returns the current date encoded in the MaxiCode preamble. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
00...99   ] Otherwise
See also:
BCSet_Maxi_UsePreamble() ----------------------------------------------------------------------------.

LPCWSTR BCGet_Maxi_PreambleDateW ( t_BarCode * pBarCode )

Returns the current date encoded in the MaxiCode preamble. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
00...99   ] Otherwise
See also:
BCSet_Maxi_UsePreamble() ----------------------------------------------------------------------------.

LPCSTR BCGet_Maxi_SCMCountryCodeA ( t_BarCode * pBarCode )

Gets country code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
000...999   ] Otherwise
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.

LPCWSTR BCGet_Maxi_SCMCountryCodeW ( t_BarCode * pBarCode )

Gets country code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
000...999   ] Otherwise
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.

LPCSTR BCGet_Maxi_SCMPostalCodeA ( t_BarCode * pBarCode )

Gets postal code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
LPCSTR   See BCSet_Maxi_SCM()
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.

LPCWSTR BCGet_Maxi_SCMPostalCodeW ( t_BarCode * pBarCode )

Gets postal code of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
NULL   No value set. This is the default
LPCSTR   See BCSet_Maxi_SCM()
See also:
BCSet_Maxi_SCM() ----------------------------------------------------------------------------.

LPCSTR BCGet_Maxi_SCMServClassA ( t_BarCode * pBarCode )

Gets service class of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

See also:
BCSet_Maxi_SCM()
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_Maxi_SCMServClassW ( t_BarCode * pBarCode )

Gets service class of MaxiCode Structured Carrier Message (SCM). Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

See also:
BCSet_Maxi_SCM()
Return values:
NULL   No value set. This is the default
000...999   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_Maxi_UnderCut ( t_BarCode * pBarCode )

Gets current undercut value of MaxiCode. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

See also:
BCSet_Maxi_UnderCut()
Return values:
-1   No value set. This is the default and corresponds to 75% undercut.
1..100   ] Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_Maxi_UsePreamble ( t_BarCode * pBarCode )

Determines whether the usage of the "Preamble" is activated. Returns currently adjusted value. \param[in] pBarCode Pointer to barcode structure.

Return values:
true   Preamble is activated
false   Preamble is not activated. This is the default
See also:
BCGSt_Maxi_UsePreamble() ----------------------------------------------------------------------------.

LPCSTR BCGet_PDF417_AddresseeA ( t_BarCode * pBarCode )

Gets Macro PDF417 Addressee. Returns currently adjusted value

See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_PDF417_AddresseeW ( t_BarCode * pBarCode )

Gets Macro PDF417 Addressee. Returns currently adjusted value

See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_CheckSum ( t_BarCode * pBarCode )

\param[in] pBarCode Pointer to barcode structure.

Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_CodeWords ( t_BarCode * pBarCode )

Gets number of PDF417 code words. Gets number of PDF417 code words.

Note:
Call after BCCreate() \param[in] pBarCode Pointer to barcode structure.
Return values:
LONG   Number of used PDF417 code words ----------------------------------------------------------------------------.

LONG BCGet_PDF417_Columns ( t_BarCode * pBarCode )

Gets number of PDF417 columns. Returns currently adjusted value.

See also:
BCSet_PDF417_Columns() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...30   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_ECLevel ( t_BarCode * pBarCode )

Gets current PDF417 error correction level. Returns currently adjusted value.

See also:
BCSet_PDF417_ECLEvel() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
0...8   ] Otherwise ----------------------------------------------------------------------------.

e_PDFMode BCGet_PDF417_EncodingMode ( t_BarCode * pBarCode )

Gets the current PDF417 encoding mode. Gets the current PDF417 encoding mode, which can be default or binary. \param[in] pBarCode Pointer to barcode structure.

Return values:
e_PDFMode   The PDF417 encoding mode ----------------------------------------------------------------------------.

LPCSTR BCGet_PDF417_FileIDA ( t_BarCode * pBarCode )

Gets Macro PDF417 FileID. Returns currently adjusted value.

See also:
BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_PDF417_FileIDW ( t_BarCode * pBarCode )

Gets Macro PDF417 FileID. Returns currently adjusted value.

See also:
BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_PDF417_FileNameA ( t_BarCode * pBarCode )

Gets Macro PDF417 File Name. Returns currently adjusted value.

See also:
BCSet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_PDF417_FileNameW ( t_BarCode * pBarCode )

Gets Macro PDF417 File Name. Returns currently adjusted value.

See also:
BCSet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_FileSize ( t_BarCode * pBarCode )

Gets Macro PDF417 File Size. Returns currently adjusted value

See also:
BCSet_PDF417_FileSize() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_PDF417_RowColRatioA ( t_BarCode * pBarCode )

Gets PDF417 row to column ratio. Returns currently adjusted value.

See also:
BCSet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise "rows:columns" ----------------------------------------------------------------------------.

LPCWSTR BCGet_PDF417_RowColRatioW ( t_BarCode * pBarCode )

Gets PDF417 row to column ratio. Returns currently adjusted value.

See also:
BCSet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise "rows:columns" ----------------------------------------------------------------------------.

LONG BCGet_PDF417_RowHeight ( t_BarCode * pBarCode )

Gets PDF417 row-height. Returns currently adjusted value.

See also:
BCSet_PDF417_RowHeight() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise [1/1000 mm] ----------------------------------------------------------------------------.

LONG BCGet_PDF417_Rows ( t_BarCode * pBarCode )

Gets number of PDF417 rows. Returns currently adjusted value.

See also:
BCSet_PDF417_Rows() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
3...90   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_SegCount ( t_BarCode * pBarCode )

Gets Macro PDF417 segment count. Returns currently adjusted value.

See also:
BCGet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...99999   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_SegIndex ( t_BarCode * pBarCode )

Gets current Macro-PDF417 segment index. Returns currently adjusted value.

See also:
BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1...99999   ] Otherwise ----------------------------------------------------------------------------.

BOOL BCGet_PDF417_SegLast ( t_BarCode * pBarCode )

Returns if this is the last symbol within a Macro PDF417 symbol-chain. Returns currently adjusted value.

See also:
BCSet_PDF417_SegLast() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   Current symbol is the last symbol within this chain
false   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_PDF417_SenderA ( t_BarCode * pBarCode )

Gets Macro PDF417 Sender. Returns currently adjusted value.

See also:
BCSet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_PDF417_SenderW ( t_BarCode * pBarCode )

Gets Macro PDF417 Sender. Returns currently adjusted value.

See also:
BCSet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
String   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_PDF417_TimeStamp ( t_BarCode * pBarCode )

Gets Macro PDF417 Time Stamp. Returns currently adjusted value.

See also:
BCSet_PDF417_TimeStamp() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
>0   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_QR_AppendIndex ( t_BarCode * pBarCode )

Gets the structured append index of the symbol when using QR-Code "Structured Append". Returns currently adjusted value.

See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
1..16   ] Otherwise ----------------------------------------------------------------------------.

BYTE BCGet_QR_AppendParity ( t_BarCode * pBarCode )

Gets the structured append parity when using QR-Code "Structured Append". Returns currently adjusted value.

See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
0   No value set. This is the default
0..255   ] Otherwise ----------------------------------------------------------------------------.

LONG BCGet_QR_AppendSum ( t_BarCode * pBarCode )

Gets the total number of symbol when using QR-Code "Structured Append". Returns currently adjusted value.

See also:
BCSet_QR_Append() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..16   ] Otherwise ----------------------------------------------------------------------------.

e_QRECLevel BCGet_QR_ECLevel ( t_BarCode * pBarCode )

Gets the current QR-Code error correction level (ECL). Returns currently adjusted value.

See also:
BCSet_QR_ECLevel() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQREC_Low   This is the default
e_QRECLevel   Otherwise ----------------------------------------------------------------------------.

LPCSTR BCGet_QR_FmtAppIndicatorA ( t_BarCode * pBarCode )

Gets current QR-Code Format application indicator (used with Industry format). Returns currently adjusted value.

See also:
BCSet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
0...99   ],[a-z, A-Z] Otherwise ----------------------------------------------------------------------------.

LPCWSTR BCGet_QR_FmtAppIndicatorW ( t_BarCode * pBarCode )

Gets current QR-Code Format application indicator (used with Industry format). Returns currently adjusted value.

See also:
BCSet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure.
Return values:
NULL   No value set. This is the default
0...99   ],[a-z, A-Z] Otherwise ----------------------------------------------------------------------------.

e_QRFormat BCGet_QR_Format ( t_BarCode * pBarCode )

Gets the current encoding format. Returns currently adjusted value.

See also:
BCSet_QR_Format() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRPr_Default   No value set. This is the default
e_QRFormat   Otherwise ----------------------------------------------------------------------------.

e_QRMBCompaction BCGet_QR_KanjiChineseCompaction ( t_BarCode * pBarCode )

Gets the current state of the QR-Code "Compact Kanji / Chinese" option. Returns currently adjusted value

See also:
BCSet_QR_KanjiChineseCompaction() \param[in] pBarCode Pointer to bar-code structure.
Return values:
eQRMBCompactionNone   Do not compact Multi Byte character sets (Default)
eQRMBCompactionKanji   Kanji characters (Shift JIS X 0208) should be compacted
eQRMBCompactionChinese   Chinese characters (GB2312) should be compacted ----------------------------------------------------------------------------.

e_QRMask BCGet_QR_Mask ( t_BarCode * pBarCode )

Gets the current QR-Code mask pattern (0-7). Returns currently adjusted value

See also:
BCSet_QR_Mask() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRMsk_Default   No value set. This is the default
e_QRMask   Otherwise ----------------------------------------------------------------------------.

e_QRVersion BCGet_QR_Version ( t_BarCode * pBarCode )

Gets the current symbol version (the symbol size). Returns currently adjusted value.

See also:
BCSet_QR_Version() \param[in] pBarCode Pointer to barcode structure.
Return values:
eQRVers_Default   No value set. This is the default and the minimal symbol size will be computed automatically
e_QRVersion   Otherwise ----------------------------------------------------------------------------.

LONG BCGet_RSS_SegmPerRow ( t_BarCode * pBarCode )

Gets currently adjusted data segments per row (GS1 DataBar/RSS Expanded Stacked only). Returns currently adjusted value.

See also:
BCSet_RSS_SegmPerRow() \param[in] pBarCode Pointer to barcode structure.
Return values:
-1   No value set. This is the default
2..22   ] Otherwise ----------------------------------------------------------------------------.

ERRCODE BCInitLibraryA ( LPCSTR szPath )

Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.

Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCInitLibraryW ( LPCWSTR szPath )

Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.

Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

BOOL BCIsCompositeAllowed ( e_BarCType barcodeType )

Retrieves whether the barcode type can be a composite barcode. Only certain types of barcodes can have composite components. You can use this function to find out if a certain barcode type supports a composite component. \param[in] barcodeType e_BarCType. The type of barcode.

Return values:
true   The given barcode type supports a composite component.
false   The given barcode type cannot be a composite barcode. --------------------------------------------------------------------------.

BOOL BCIsCompositeComponentAllowed ( e_BarCType barcodeType,
e_CCType componentType )

Retrieves whether the barcode type can be a composite barcode with a certain component. Only certain types of barcodes can have composite components, and not all composite barcodes support all type of component types. You can use this function to find out if a certain barcode type supports a certain type of composite component. \param[in] barcodeType e_BarCType. The type of barcode. \param[in] componentType e_CCType. The type of composite component.

Return values:
true   The given barcode type supports the given composite component.
false   The given barcode type cannot be a composite barcode, or it the does not support the given type of component. --------------------------------------------------------------------------.

BOOL BCIsImageMagickAvailable ( )

Checks whether ImageMagick-Plug-In is available.

Deprecated:
This functions is no longer used because ImageMagick has been replaced. This functions now always returns TRUE (for backwards-compatibility).
See also:
BCBitmapToFile(), BCBitmapToMemory()
Return values:
BOOL   Always TRUE. ----------------------------------------------------------------------------.

BOOL BCIsTextUnicode ( t_BarCode * pBarCode )

Returns type of current input data. Determines if barcode text was passed as UNICODE string or as ASCII string.

See also:
BCSetTextA(), BCSetTextW() \param[in] pBarCode Pointer to barcode structure.
Return values:
true   The barcode data was set with BCSetTextW().
false   The barcode data was set with BCSetTextA(). ----------------------------------------------------------------------------.

BOOL BCIsWordWrappingEnabled ( t_BarCode * pBarCode )

[NOT IMPLEMENTED YET!]
Determines if word wrapping is enabled for the currently active text object (usually the human readable text).

NOT IMPLEMENTED YET \note Works only if the currently <b>active</b> text is <b>NOT</b> the human readable text (with index 0) but one of the extra text objects. \par The currently active text object can be selected by calling BCSetActiveTextIndex().. \see BCSetTextPosition(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \retval true Text is word wrapped. \retval false Text is not word wrapped.
----------------------------------------------------------------------------.

ERRCODE BCLicenseMeA ( LPCSTR lpszLicensee,
e_licKind eKindOfLicense,
DWORD dwNoOfLicenses,
LPCSTR lpszKey,
e_licProduct eProductID )

License TBarCode. Licenses the library with the license key provided by TEC-IT. All demo-mode restrictions are removed. Licensing must take place before you draw a barcode or generate a barcode image file. After licensing the library will stay in licensed mode until it is unloaded from memory. Call this function and pass in the license key you have got after purchasing your license. You receive the license key from TEC-IT Datenverarbeitung GmbH (you can order through https://www.tec-it.com/order). The license kind, the number of licenses and the licensee string have to be passed in exactly as given, they are checked against the license key.

Note:
For Windows only: - If the license key starts with "Mem: xxxxxxxx" the product is licensed until TBarCode will be unloaded from memory. - If the license key received by TEC-IT looks like "HKCU:xxxxxxxx" the product is licensed in the section "HKEY Current User" of the Windows registry. - If the license key received by TEC-IT looks like "xxxxxxxx" or "HKLM:xxxxxxxx" the product is licensed within the section "HK Local Machine" of the Windows Registry (this is the default).
Alternative licensing method: TEC-IT provides the possibility to license the product via an .ini-file (please contact TEC-IT for details). \param[in] lpszLicensee String containing the name of the Licensee. Provided by TEC-IT after ordering. \param[in] eKindOfLicense The type of the license. Provided by TEC-IT after ordering. \param[in] dwNoOfLicenses The number of available licenses. Provided by TEC-IT after ordering. \param[in] lpszKey String containing the license key Provided by TEC-IT after ordering. \param[in] eProductID The type of the licensed product variant (1D or 2D). The Product ID indicates which barcode types will be licensed. One-dimensional (1D or linear barcodes) (1D = Code128, UPC, EAN, Code39, ...) or two-dimensional (2D) barcodes (PDF417, MaxiCode, Data Matrix, ...).
Return values:
ERRCODE   Returns always ErrOk (0) - even if license key is invalid ----------------------------------------------------------------------------.

ERRCODE BCLicenseMeW ( LPCWSTR lpszLicensee,
e_licKind eKindOfLicense,
DWORD dwNoOfLicenses,
LPCWSTR lpszKey,
e_licProduct eProductID )

License TBarCode. Licenses the library with the license key provided by TEC-IT. All demo-mode restrictions are removed. Licensing must take place before you draw a barcode or generate a barcode image file. After licensing the library will stay in licensed mode until it is unloaded from memory. Call this function and pass in the license key you have got after purchasing your license. You receive the license key from TEC-IT Datenverarbeitung GmbH (you can order through https://www.tec-it.com/order). The license kind, the number of licenses and the licensee string have to be passed in exactly as given, they are checked against the license key.

Note:
For Windows only: - If the license key starts with "Mem: xxxxxxxx" the product is licensed until TBarCode will be unloaded from memory. - If the license key received by TEC-IT looks like "HKCU:xxxxxxxx" the product is licensed in the section "HKEY Current User" of the Windows registry. - If the license key received by TEC-IT looks like "xxxxxxxx" or "HKLM:xxxxxxxx" the product is licensed within the section "HK Local Machine" of the Windows Registry (this is the default).
Alternative licensing method: TEC-IT provides the possibility to license the product via an .ini-file (please contact TEC-IT for details). \param[in] lpszLicensee String containing the name of the Licensee. Provided by TEC-IT after ordering. \param[in] eKindOfLicense The type of the license. Provided by TEC-IT after ordering. \param[in] dwNoOfLicenses The number of available licenses. Provided by TEC-IT after ordering. \param[in] lpszKey String containing the license key Provided by TEC-IT after ordering. \param[in] eProductID The type of the licensed product variant (1D or 2D). The Product ID indicates which barcode types will be licensed. One-dimensional (1D or linear barcodes) (1D = Code128, UPC, EAN, Code39, ...) or two-dimensional (2D) barcodes (PDF417, MaxiCode, Data Matrix, ...).
Return values:
ERRCODE   Returns always ErrOk (0) - even if license key is invalid ----------------------------------------------------------------------------.

ERRCODE BCPCLToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPCLToFileExtA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect,
BOOL bRelPos )

Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPCLToFileExtW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect,
BOOL bRelPos )

Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPCLToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as a PCL-file. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCPCLToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. (left, bottom) is the lower left corner of the barcode (usually (0, 0)). (right, top) is the upper right corner of the barcode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPCLToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT nSize,
LPCRECT pRect )

Writes barcode as PCL (Level 5) into memory block. The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCPCLToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in] nSize Size of memory block as allocated. \param[in] pRect Bounding rectangle [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPCLToMemoryExt ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect,
BOOL bRelPos )

Writes barcode as PCL Level 5 into memory block (extended version). In addition to BCPCLToMemory() the required output resolution can be specified. Beside this, the parameter bRelPos switches between absolute or relative positioning.
The origin of the coordinate space in PCL the is upper, left corner of a page. The positive y-axis points downwards. \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call. \param[in] pRect Bounding rectangle [1/1000 mm]. \param[in] bRelPos Relative or absolute positioning. - true: Relative positioning is used - false: Absolute positioning is used

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCPCLToMemory() ----------------------------------------------------------------------------.

ERRCODE BCPDFFragmentToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect )

Writes barcode as PDF segment into a memory-block
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPDFToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as a PDF file.
\param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPDFToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as a PDF file.
\param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Path and name of file. \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPDFToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect )

Writes barcode as PDF into a memory-block
\param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPostscriptToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as a Postscript-file. Saves barcode (in EPS-format - Encapsulated Postscript) to a file.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.

See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero top / right specifies barcode dimensions
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPostscriptToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as a Postscript-file. Saves barcode (in EPS-format - Encapsulated Postscript) to a file.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.

See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero top / right specifies barcode dimensions
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPostscriptToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT nSize,
LPCRECT pRect )

Writes barcode (Postscript) into memory-block. Writes barcode into the specified memory block. The barcode is represented in vectorized PostScript (no bitmaps!).
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.

See also:
BCPostscriptToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in] nSize Size of memory block as allocated (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCPostscriptToMemoryExt ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect,
BOOL bIncludeMacros )

Writes barcode (Postscript) into memory-block (extended version). Saves barcode in a memory block. The barcode is represented in vectorized PostScript (no bitmaps!). This function works like BCPostscriptToMemory() but allows additional specification of the required output resolution. Beside this it can be selected, if barcode-specific macros are to be included into the generated Postscript code.
The origin of the coordinate space in Postscript is the lower, left corner of a page. The positive y-axis points upwards.

See also:
BCPostscriptToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] pHandle Pointer to memory block. \param[in,out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm]. \param[in] bIncludeMacros Exclude or include macro definitions. - true: Postscript Macros are included - false: Postscript Macros are excluded
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSVGToFileA ( t_BarCode * pBarCode,
LPCSTR szFilename,
LPCRECT pRect )

Saves barcode as a SVG-file. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCSVGToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSVGToFileW ( t_BarCode * pBarCode,
LPCWSTR szFilename,
LPCRECT pRect )

Saves barcode as a SVG-file. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCSVGToMemory() \param[in] pBarCode Pointer to barcode structure. \param[in] szFilename Filename. \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSVGToMemory ( t_BarCode * pBarCode,
VOID * pHandle,
INT * pnSize,
LPCRECT pRect )

Writes barcode (SVG) into memory-block. The origin of the coordinate space in SVG the is upper, left corner of a page. The positive y-axis points downwards.

See also:
BCSVGToMemoryExt() \param[in] pBarCode Pointer to barcode structure. \param[in,out] pHandle Pointer to memory block. \param[in, out] pnSize Size of memory block as allocated. Contains required size after function call (including a terminating 0-byte). \param[in] pRect Bounding rectangle for barcode dimensions [1/1000 mm]. left / bottom must be zero, top / right specifies barcode dimensions [1/1000 mm].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageA ( t_BarCode * pBarCode,
LPCSTR lpszFileName,
e_IMType eImageType,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

Saves the barcode to an image-file (Windows only). Saves the barcode to an image-file (format Bmp, Jpg, Png, Eps, Emf...). The values of lXSize and lYSize should be increased, if the barcode is not readable. The values of dXRes and dYRes can affect printing size when printing from graphic- or painting programs. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".

Note:
WINDOWS only
To be able to generate images with colors different from black and white use the function BCSaveImageEx instead.
See also:
BCSaveImageEx(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszFileName Filename \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageExA ( t_BarCode * pBarCode,
HDC hDC,
LPCSTR lpszFileName,
e_IMType eImageType,
LONG lQuality,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

Saves barcode to an image-file (extended version, Windows only). Saves the content of the barcode object as image-file with respect to a specified device context (if not needed hDC can be set to 0). The values of lXSize and lYSize should be increased, if the barcode is not readable or if the data density is high. The values of dXRes and dYRes can affect the printing size when printing from graphic- or painting programs. The image quality sets the compression algorithm (depending on the image type). With vector-EPS files you can choose between using Windows fonts (nQuality = 0) and using Postscript compatible fonts (nQuality = 1). A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".

Note:
WINDOWS only
Use this function to be able to generate images with colors different from black and white.
See also:
BCSaveImage(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (default: NULL). \param[in] lpszFileName Filename. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (Meaning depends on image type; -1 for default). \param[in] lXSize X-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch}.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageExW ( t_BarCode * pBarCode,
HDC hDC,
LPCWSTR lpszFileName,
e_IMType eImageType,
LONG lQuality,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

Saves barcode to an image-file (extended version, Windows only). Saves the content of the barcode object as image-file with respect to a specified device context (if not needed hDC can be set to 0). The values of lXSize and lYSize should be increased, if the barcode is not readable or if the data density is high. The values of dXRes and dYRes can affect the printing size when printing from graphic- or painting programs. The image quality sets the compression algorithm (depending on the image type). With vector-EPS files you can choose between using Windows fonts (nQuality = 0) and using Postscript compatible fonts (nQuality = 1). A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".

Note:
WINDOWS only
Use this function to be able to generate images with colors different from black and white.
See also:
BCSaveImage(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context handle (default: NULL). \param[in] lpszFileName Filename. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (Meaning depends on image type; -1 for default). \param[in] lXSize X-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats (EPS, PCL, AI, SVG) the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch}.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageToBuffer ( t_BarCode * pBarCode,
LPBYTE * lpBuffer,
e_IMType eImageType,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

The values of XSize and YSize should be increased, if the barcode is not readable or requires a high printing resolution. The values of XRes and YRes can affect the printing size when printing from graphic- or painting programs (but not when printing from the browser!). The buffer will be allocated on the global heap. Retrieve the buffer size in Bytes with GlobalSize((HGLOBAL)GlobalHandle(szBuffer)). It is recommended to lock the buffer before reading with pMem = GlobalLock (hMem) and unlock it afterwards (GlobalUnlock(hMem)). When no longer needed the buffer must be released by calling GlobalFreePtr(buffer) (WINDOWSX.h macro).

Note:
WINDOWS only. This function can be used with a developer license only.
See also:
BCSaveImageToBufferEx() \param[in] pBarCode Pointer to barcode structure. \param[out] lpBuffer Buffer. \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageToBufferEx ( t_BarCode * pBarCode,
HDC hDC,
LPBYTE * lpBuffer,
e_IMType eImageType,
LONG lQuality,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

Saves barcode as image into a memory buffer (extended version, Windows only). Like BCSaveImageToBuffer() with the additional possibility to specify the image quality. For a description refer to BCSaveImageEx().

Note:
WINDOWS only. This function can be used with a developer license only.
See also:
BCSaveImageToBuffer() \param[in] pBarCode Pointer to barcode structure. \param[in] hDC Device context (default: NULL). \param[out] lpBuffer Buffer. \param[in] eImageType Enumeration for the type of the image. \param[in] lQuality Image Quality (meaning depends on image type). \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSaveImageW ( t_BarCode * pBarCode,
LPCWSTR lpszFileName,
e_IMType eImageType,
LONG lXSize,
LONG lYSize,
DOUBLE dXRes,
DOUBLE dYRes )

Saves the barcode to an image-file (Windows only). Saves the barcode to an image-file (format Bmp, Jpg, Png, Eps, Emf...). The values of lXSize and lYSize should be increased, if the barcode is not readable. The values of dXRes and dYRes can affect printing size when printing from graphic- or painting programs. A file extension according to selected image type is appended automatically if the file name does not already end with a safe file extension. Safe file extensions are ".ai", ".bmp", ".emf", ".eps", ".gif", ".jpg", ".jpeg", ".pcl", ".pcx", ".png", ".svg", ".tif", and ".tmp".

Note:
WINDOWS only
To be able to generate images with colors different from black and white use the function BCSaveImageEx instead.
See also:
BCSaveImageEx(), BCSaveImageToBuffer(), BCPostscriptToFile(), BCPCLToMemory(), BCGetEnhMetaFile() \param[in] pBarCode Pointer to barcode structure. \param[in] lpszFileName Filename \param[in] eImageType Enumeration for the type of the image. \param[in] lXSize X-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] lYSize Y-Size of the image [pixel]. For vector formats the unit is [0.001 mms] \param[in] dXRes X-Resolution of the image [pixels / inch]. \param[in] dYRes Y-Resolution of the image [pixels / inch].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet2DCompositeComponent ( t_BarCode * pBarCode,
e_CCType eCCType )

Sets 2D Composite Component (= CC) Type. Enables or disables generation of an GS1 Composite Symbology and adjusts the type of the 2D composite component (CC-A, CC-B or CC-C). The CC is printed on top of the base symbol, which can be an GS1 DataBar or an EAN-128 symbology. For usual applications (using GS1 Composite) we recommend to set the CC-Type to eCC_Auto. In this case TBarCode computes the optimal CC automatically. Default: eCC_None.

See also:
BCGet2DCompositeComponent() \param[in] pBarCode Pointer to barcode structure. \param[in] eCCType CC Type.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetActiveTextIndex ( t_BarCode * pBarCode,
LONG nIndex )

Sets the currently active text index. The user can only change the setting of the text that is currently active.

That means that if the user calls the function <CODE>BCSetActiveTextIndex(pBarCode, 1)</CODE> all future calls will be applied to text object #1 until another text object is activated in the same manner. \par Following functions are affected by BCSetActiveTextIndex(): BCSetDisplayText(), BCSetTextRotation(), BCSetLogFont(), BCSetTextAlignment(), BCSetTextPosition(), BCSetPrintText(), BCSetFontName(), BCSetFontHeight(), BCSetFontColor() \par BCGetDisplayText(), BCGetTextRotation(), BCGetLogFont(), BCGetTextAlignment(), BCGetTextPosition(), BCGetPrintText(), BCGetFontName(), BCGetFontHeight(), BCGetFontColor(), BCGetTextClipping(), BCIsWordWrappingEnabled() \note By default the human readable text (index 0) is the active text. \par You can change the position and size of an extra text but not that of the human readable text. \param[in] pBarCode Pointer to barcode structure. A value of 0 ... means that the <i>human readable text</i> becomes active (this is the default) >0 ... means that the <i>extra text</i> with given index [1 .. n] becomes active \param[in] nIndex The new active text index. \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred
----------------------------------------------------------------------------.

ERRCODE BCSetAutoCorrect ( t_BarCode * pBarCode,
BOOL bAutoCorrect )

Sets auto-correct option for input data. If set to true TBarCode performs the following operations on the input data (before creating the bar code): - Code 39: Trim leading/trailing '*' characters (start/stop characters are added by the encoder) - ISBN-13/ISSN/ISMN: Remove '-' characters (not encoded into the bar code) - Code 2of5 Interleaved: Insert a leading zero if the number of data digits is odd (2/5 IL supports only even number of digits) - Code-128: Remove multiple occurences of leading FNC1 and all occurences of trailing FNC1 characters. - GS1-128: Remove all leading and trailing FNC1 characters (the FNC1 at first position is added by the encoder).

Note:
Should always be true. If this option is set to false BCCheck() or BCCreate() may return with an error. \param[in] pBarCode Pointer to barcode structure. \param[in] bAutoCorrect Auto correct flag. - true ... Enable auto-correct - false ... Disable auto-correct
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetAutoCorrect() ----------------------------------------------------------------------------.

ERRCODE BCSetBCType ( t_BarCode * pBarCode,
e_BarCType eType )

Chooses the required barcode type (symbology). Specifies the type of the barcode to be generated (the so-called symbology). Look at the Barcode Reference to get an overview of the enumerations. The default symbology used by TBarCode is Code128. \param[in] pBarCode Pointer to barcode structure. \param[in] eType Bar-code type (barcode symbology).

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetBCType() ----------------------------------------------------------------------------.

VOID BCSetBackgroundColorCMYK ( t_BarCode * pBarcode,
DOUBLE dCyan,
DOUBLE dMagenta,
DOUBLE dYellow,
DOUBLE dBlack )

Sets the background color the of barcode.

See also:
BCGetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorGray(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetBackgroundColorGDI ( t_BarCode * pBarcode,
COLORREF color )

Sets the background color of the barcode.

See also:
BCGetBackgroundColorGDI(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGray(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCSetBackgroundColorGray ( t_BarCode * pBarcode,
DOUBLE dGray )

Sets the background color of the barcode.

See also:
BCGetBackgroundColorGray(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetBackgroundColorRGB ( t_BarCode * pBarcode,
DOUBLE dRed,
DOUBLE dGreen,
DOUBLE dBlue )

Sets the background color of the barcode.

See also:
BCGetBackgroundColorRGB(), BCSetBackgroundColorCMYK(), BCSetBackgroundColorGDI(), BCSetBackgroundColorGray() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

ERRCODE BCSetBarShapeA ( t_BarCode * pBarCode,
e_BarShape eShape,
LPCSTR szImageFile )

Sets the bar shape of the barcode.

Attention:
For average use we strongly recommend to use only bar shape "eBarShape_Default". Using another mode can endanger readability.
A change does make only sense for special applications like advertisements, fun barcodes, etc., that do not enforce the readability of the barcodes.
See also:
BCGetBarShape(), BCGetBarShape_ImageFileName() \param[in] pBarCode Pointer to barcode structure. \param[in] eShape Bar Shape. \param[in] szImageFile Not Implemented Yet Name of the image file. This parameter is used only together with shape "eBarShape_Image". It contains the name of the image file which is used for drawing the bars. For any other shape this parameter is ignored.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetBarShapeW ( t_BarCode * pBarCode,
e_BarShape eShape,
LPCWSTR szImageFile )

Sets the bar shape of the barcode.

Attention:
For average use we strongly recommend to use only bar shape "eBarShape_Default". Using another mode can endanger readability.
A change does make only sense for special applications like advertisements, fun barcodes, etc., that do not enforce the readability of the barcodes.
See also:
BCGetBarShape(), BCGetBarShape_ImageFileName() \param[in] pBarCode Pointer to barcode structure. \param[in] eShape Bar Shape. \param[in] szImageFile Not Implemented Yet Name of the image file. This parameter is used only together with shape "eBarShape_Image". It contains the name of the image file which is used for drawing the bars. For any other shape this parameter is ignored.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetBarWidthReduction ( t_BarCode * pBarCode,
DOUBLE dValue,
e_MUnit eUnit )

Sets bar-width reduction (Pixel-Shaving) in given unit. Specifies the reduction of the bar-widths. The width of a bar in the barcode is reduced by the given value in the given unit. This property is useful when you have to deal with dot gain in the printing process. Example: On inkjet printers the bars appear wider than specified because the ink spreads a little bit. Same with (high) toner saturation on laser printers. You can compensate this effect by setting a bar-width reduction (also called BWR or "Pixel Shaving") to a suitable value. You have to make tests to find optimal settings because the dot gain depends on the printing method and printing surface (paper). The printed module-width is equal to the theoretically optimal module-width reduced by the reduction value.

Note:
With a 2D matrix code, the BWR is applied horizontally and vertically to the modules (or matrix points). A single point or chain of points is reduced by 50% of the BWR on each side. By default connected modules (dots) are only reduced in their outer boundaries. With the 'DRAW_BarWidthReduction_Legacy' option you can specify how connected modules should be treated.
See also:
BCGetBarWidthReduction(), BCGetBarWidthReductionUnit(), BCSetOptions() \param[in] pBarCode Pointer to barcode structure. \param[in] dValue Reduction in given unit (0 ... reset to default ==> no reduction). \param[in] eUnit Reduction unit (valid values are: eMUMM, eMUMils, eMUInch, and eMUPercent).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

VOID BCSetBarcodeColorCMYK ( t_BarCode * pBarcode,
DOUBLE dCyan,
DOUBLE dMagenta,
DOUBLE dYellow,
DOUBLE dBlack )

Sets the color of the barcode.

See also:
BCGetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorGray(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetBarcodeColorGDI ( t_BarCode * pBarcode,
COLORREF color )

Sets the color of the barcode.

See also:
BCGetBarcodeColorGDI(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGray(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCSetBarcodeColorGray ( t_BarCode * pBarcode,
DOUBLE dGray )

Sets the color of the barcode.

See also:
BCGetBarcodeColorGray(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorRGB() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetBarcodeColorRGB ( t_BarCode * pBarcode,
DOUBLE dRed,
DOUBLE dGreen,
DOUBLE dBlue )

Sets the color of the barcode.

See also:
BCGetBarcodeColorRGB(), BCSetBarcodeColorCMYK(), BCSetBarcodeColorGDI(), BCSetBarcodeColorGray() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0). \param[in] dGreen Green color component (range: 0.0 - 1.0). \param[in] dBlue Blue color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

ERRCODE BCSetBearerBarType ( t_BarCode * pBarCode,
e_BearerBar eType )

Sets the type of the bearer bars. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 for the default minimum bearer bar width or a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable). \param[in] pBarCode Pointer to barcode structure. \param[in] eType The type of bearer bar.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCGetBearerBarType(), BCGetBearerBarWidth(), BCSetBearerBarWidth() ----------------------------------------------------------------------------.

ERRCODE BCSetBearerBarWidth ( t_BarCode * pBarCode,
LONG nBearerWidth )

Sets the width of the bearer bars [1/1000 mm]. By default, bearer bars are deactivated (eBearerBar_None). To activate bearer bars the bearer bar type has to be set to eBearerBar_TopAndBottom or eBearerBar_Rectangle. The bearer bar width has to be set to -1 (for the default minimum bearer bar of 2X) or to a value > 0.
The vertical bearer bar is only displayed, if you have set a quiet zone at left and right >= 12 modules (the quiet zone is necessary to keep the bar code readable).
The rule for the minimum valid quiet zone (left/right) is 10X + bearer bar width (>= 2X). \param[in] pBarCode Pointer to barcode structure. \param[in] nBearerWidth The width of the bearer bars in 1/1000 mm or -1 if the default minimum bearer bar width should be used.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
Remarks:
Usually bearer bars are used with ITF-14 only. The bearer bar was introduced to equalize the pressure exerted by the printing plate over the entire surface of soft materials. It also enhances reading reliability by helping to reduce the probability of misreads by skewed scanning beams.
Bearer-bars are usually drawn below and above the barcode (ITF-14) and are used to avoid partial scans. They can be also drawn as a rectangle. For some barcode symbologies with synchronization bars (like EAN8) you must not enable bearer bars.
See the Barcode Reference for more information.
See also:
BCGetBearerBarWidth(), BCGetBearerBarType(), BCSetBearerBarType() ----------------------------------------------------------------------------.

ERRCODE BCSetBkMode ( t_BarCode * pBarCode,
LONG nMode )

Sets background drawing mode. Specifies whether the barcode background should be transparent or opaque. If set to transparent, no background color is used.

See also:
BCGetBkMode() \param[in] pBarCode Pointer to barcode structure. \param[in] nMode Background mode. - 1: Transparent - 2: Opaque (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

VOID BCSetCBData ( t_BarCode * pBarCode,
LPVOID customData )

Sets the user-defined data that is passed to the callback functions.

Each callback function for barcode drawing provides a parameter called 'customData'. This parameter can be used to pass user-defined data to the callback functions. \param[in] pBarCode Pointer to barcode structure. \param[in] customData User-defined data for callback functions.

See also:
BCDrawCB(), fn_DrawRow, fn_DrawBar, fn_DrawText

ERRCODE BCSetCDMethod ( t_BarCode * pBarCode,
e_CDMethod eMethod )

Chooses check-digit method to be used. Specifies the calculation method for the check-digit. Possible values are listed in the Barcode Reference.
The method for the check-digit calculation used by TBarCode depends on the adjusted barcode type. In order to make the product as user-friendly as possible, a standard (default) method for each barcode type is supplied. Please note that for some bar codes there is no default check digit, but using a specific method is recommended in their specification. Some symbologies have an internal check sum (e.g. Modulo-103 used with Code-128). This check sum is always part of the generated bar code - regardless what the user specifies here.

Attention:
Adjust only check-digit methods, which are allowed or recommended for a specific symbology. E.g. if a check-digit is generated, which cannot be encoded (e.g. due to limited character set of the barcode) you will get an error. Also consider that it can be necessary that the scanner configuration is adapted to the check digit.
See also:
BCGetCDMethod(), BCCalcCD() \param[in] pBarCode Pointer to barcode structure. \param[in] eMethod Check-digit method.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetCharacterSpacing ( t_BarCode * pBarCode,
DOUBLE spacing )

Sets the the character spacing of the currently active text object. Positive values increment the spacing, negative values decrement it. The currently active text object can be selected by calling BCSetActiveTextIndex().

See also:
BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCGetCharacterSpacing() \param[in] pBarCode Pointer to barcode structure. \param[in] spacing The character spacing in points.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetCodePage ( t_BarCode * pBarCode,
e_CodePage eCodePage )

Sets the input data encoding code page. If the data encoding mode is set to eEncMode_CodePage this function specifies in which code page the input data is encoded. Otherwise the code page is ignored. See e_EncodingMode and e_CodePage for a more detailed description.
If the this function returns eCodePage_Custom use the function BCGetCodePageCustom to receive the code page as a code page identifier.

See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), BCSetCodePageCustom(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] eCodePage The code page (as enumeration value).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.

ERRCODE BCSetCodePageCustom ( t_BarCode * pBarCode,
UINT nCodePage )

Sets the input data encoding code page. If another than a predefined code page shall be used that means, if the code page is set to eCodePage_Custom, this function specifies in which code page the input data is encoded. Otherwise the value returned by BCGetCodePage is used.

See also:
BCSetEncodingMode(), BCGetEncodingMode(), BCGetCodePage(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] nCodePage The code page identifier (or CP number).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.

ERRCODE BCSetColorBC ( t_BarCode * pBarCode,
COLORREF color )

Sets the color the of barcode. Specifies the color of the bars (or dots) of the barcode.

See also:
BCGetColorBC()
Deprecated:
Handling of color values has been enhanced. Use BCSetBarcodeColorGDI(), BCSetBarcodeColorRGB(), BCSetBarcodeColorCMYK(), or BCSetBarcodeColorGray() instead. \param[in] pBarCode Pointer to barcode structure \param[in] color RGB color value
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetColorBk ( t_BarCode * pBarCode,
COLORREF color )

Sets the color of the barcode background. Specifies the background color of the barcode. This color is used to draw the spaces of the barcode when the BackStyle is set to OPAQUE.

See also:
BCGetColorBk(), BCSetBkMode()
Deprecated:
Handling of color values has been enhanced. Use BCSetBackgroundColorGDI(), BCSetBackgroundColorRGB(), BCSetBackgroundColorCMYK(), or BCSetBackgroundColorGray() instead. \param[in] pBarCode Pointer to barcode structure. \param[in] color RGB color value.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetColorFont ( t_BarCode * pBarCode,
COLORREF color )

Sets the color of the human readable text. Used only when drawing of the human-readable text is activated (see BCSetPrintText())

See also:
BCGetColorFont(), BCSetPrintText()
Deprecated:
Handling of color values has been enhanced. Use BCSetFontColorGDI(), BCSetFontColorRGB(), BCSetFontColorCMYK(), or BCSetFontColorGray() instead. \param[in] pBarCode Pointer to barcode structure. \param[in] color RGB color value.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

VOID BCSetColorMode ( t_BarCode * pBarcode,
e_ColorMode mode )

Sets the color mode (CMYK, RGB, or Grayscale). \param[in,out] pBarcode Pointer to barcode structure. \param[in] mode The color mode. ----------------------------------------------------------------------------.

ERRCODE BCSetCompression ( t_BarCode * pBarCode,
e_Compression eCompression )

Sets compression mode for barcode content \param[in,out] pBarCode Pointer to barcode structure. \param[in] eCompression Compression mode.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.

ERRCODE BCSetDCConversion ( t_BarCode * pBarCode,
BOOL bConvertDC )

Activates or deactivates conversion of Windows GDI drawing context (DC). By default all DCs are internally converted, so that logical units are himetric (1/100 mm). This conversion can be turned off if the DC given to the drawing routines already uses himetrics as logical units. Or you can turn off this conversion to use a DC with custom scaling. \param[in] pBarCode Pointer to barcode structure. \param[in] bConvertDC TRUE if DC should be converted. FALSE if conversion should be turned off.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetDPI ( t_BarCode * pBarCode,
DOUBLE dDPIHorz,
DOUBLE dDPIVert )

Sets user defined resolution. Sets output resolution to be used in bar code drawing / calculation functions. If not set (default), the resolution of the available device context is used (e.g. screen resolution or printer resolution). Can be used to estimate the quality of a bar code for a specific output resolution (BCGetQuality()). For other purposes this function should be used careful, because bar code dimensions can change unexpectedly.

See also:
BCGetDPIHorz(), BCGetDPIVert() \param[in] pBarCode Pointer to barcode structure. \param[in] dDPIHorz User defined horizontal DPI (-1 ... reset to default). \param[in] dDPIVert User defined vertical DPI (-1 ... reset to default) ==> Parameter is currently not used.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetDecoder ( t_BarCode * pBarCode,
e_Decoder eDecoder )

Sets the type of decoder that will be used to read this barcodes. The module width will be optimized for this type of scanner. \param[in,out] pBarCode Pointer to barcode structure. \param[in] eDecoder Type of scanner.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.

ERRCODE BCSetDisplayTextA ( t_BarCode * pBarCode,
LPCSTR szText )

Sets the content of the currently active text object (usually the human readable text).

Note:
BCSetDisplayText can be used to override the human readable text which normally would contain the bar code content (only if the human readable text is currently active).
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetDisplayText(), BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Display text (reset to default: null). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

ERRCODE BCSetDisplayTextW ( t_BarCode * pBarCode,
LPCWSTR szText )

Sets the content of the currently active text object (usually the human readable text).

Note:
BCSetDisplayText can be used to override the human readable text which normally would contain the bar code content (only if the human readable text is currently active).
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetDisplayText(), BCSetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Display text (reset to default: null). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

ERRCODE BCSetDrawMode ( t_BarCode * pBarCode,
BOOL bUseGDIRect )

Selects the method for drawing bars (Windows only). Sets the GDI drawing-method used for painting the bars. TBarCode normally draw bars in high quality mode that bases on specialized GDI-functionality. Some printer drivers do not handle this method correctly (invisible, too short bars or wrong clipping). If this happens activate the conventional method (bars are drawn as filled rectangles). The conventional method may result in decreased barcode quality for devices with low output resolution.

See also:
BCGetDrawMode() \param[in] pBarCode Pointer to barcode structure. \param[in] bUseGDIRect Use GDI DrawRect for drawing. - true: Method with the best performance is used (filled rectangles) - false: Method with highest quality method is used. This is the default.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetDrawModeExt ( t_BarCode * pBarCode,
e_DrawMode eMode )

Selects the method for drawing bars (Windows only). Sets the GDI drawing-method used for painting the bars.

See also:
BCSetDrawMode(), BCGetDrawModeExt() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode Drawing Mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetEncodingMode ( t_BarCode * pBarCode,
e_EncodingMode eMode )

Sets the data encoding mode. The data encoding mode specifies how TBarCode interprets the input data. In dependence on whether the input data is UNICODE or single character encoded the mode has different effects. See e_EncodingMode and e_CodePage for a more detailed description.

See also:
BCGetEncodingMode(), BCGetCodePage(), BCSetCodePage(), e_EncodingMode, e_CodePage \param[in] pBarCode Pointer to barcode structure. \param[in] eMode The encoding mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.

ERRCODE BCSetEpsSubstwDeviceFonts ( t_BarCode * pBarCode,
BOOL bSubstitute )

Activates the substitution of font names for EPS. Substitutes Windows font-names with Postscript-compatible fonts in functions BCSaveImage() and BCSaveImageExt() when using EPS Vector format.

See also:
BCGetEpsSubstwDeviceFonts(), BCSaveImage(),BCSaveImageExt() \param[in] pBarCode Pointer to barcode structure. \param[in] bSubstitute Substitute with Postscript fonts. - true: Substitute font-names enabled - false: Do not substitute font-names (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

VOID BCSetFontColorCMYK ( t_BarCode * pBarcode,
DOUBLE dCyan,
DOUBLE dMagenta,
DOUBLE dYellow,
DOUBLE dBlack )

Sets the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetFontColorGDI ( t_BarCode * pBarcode,
COLORREF color )

Sets the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGDI(), BCSetFontColorCMYK(), BCSetFontColorGray(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCSetFontColorGray ( t_BarCode * pBarcode,
DOUBLE dGray )

Sets the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorGray(), BCSetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorRGB(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetFontColorRGB ( t_BarCode * pBarcode,
DOUBLE dRed,
DOUBLE dGreen,
DOUBLE dBlue )

Sets the font color of the currently active text object (usually the human readable text).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex()
See also:
BCGetFontColorRGB(), BCSetFontColorCMYK(), BCSetFontColorGDI(), BCSetFontColorGray(), BCSetActiveTextIndex() \param[in,out] pBarcode Pointer to barcode structure. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

ERRCODE BCSetFontHeight ( t_BarCode * pBarCode,
INT nHeight )

Sets the font size [points] of the currently active text object (usually the human readable text). If the font size is not set, a suitable font size is automatically calculated depending on the barcode type and barcode dimensions.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Font height.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFontNameA ( t_BarCode * pBarCode,
const CHAR * szName )

Sets the font of the currently active text object (usually the human readable text). The name of the font depends on the output format, for example:
\li Postscript accepts names such as Helvetica, Courier, Times-Roman, Helvetica-Bold, etc.
\li PCL accepts names and font numbers such as Helvetica (maps to 16602), Times (maps to 4101), Courier (maps to 4099) or any font number (optional: name and number can be followed by 'Bold')
Consult a Postscript or PCL reference for more information.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] szName Font name.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFontNameW ( t_BarCode * pBarCode,
const WCHAR * szName )

Sets the font of the currently active text object (usually the human readable text). The name of the font depends on the output format, for example:
\li Postscript accepts names such as Helvetica, Courier, Times-Roman, Helvetica-Bold, etc.
\li PCL accepts names and font numbers such as Helvetica (maps to 16602), Times (maps to 4101), Courier (maps to 4099) or any font number (optional: name and number can be followed by 'Bold')
Consult a Postscript or PCL reference for more information.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex(). \param[in] pBarCode Pointer to barcode structure. \param[in] szName Font name.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFormatA ( t_BarCode * pBarCode,
LPCSTR szFormat )

Sets format string applied to barcode data prior encoding. The format string is applied to the barcode data before it is encoded. Using the format string you can perform special operations (like including special control characters, subset switching, start/stop character control) easily.
Please refer to the Barcode Reference for more information.

See also:
BCSetTextA(), BCSetTextW(), BCGetFormat() \param[in] pBarCode Pointer to barcode structure. \param[in] szFormat The format string.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.

ERRCODE BCSetFormatW ( t_BarCode * pBarCode,
LPCWSTR szFormat )

Sets format string applied to barcode data prior encoding. The format string is applied to the barcode data before it is encoded. Using the format string you can perform special operations (like including special control characters, subset switching, start/stop character control) easily.
Please refer to the Barcode Reference for more information.

See also:
BCSetTextA(), BCSetTextW(), BCGetFormat() \param[in] pBarCode Pointer to barcode structure. \param[in] szFormat The format string.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawBar ( t_BarCode * pBarCode,
fn_DrawBar fn )

Sets call-back function for drawing the bars of a barcode. these functions informs TBarCode that drawing of the bars (for linear barcodes) is done by the specified function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.

See also:
BCGetFuncDrawText() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawColoredBar ( t_BarCode * pBarCode,
fn_DrawColoredBar fn )

Sets call-back function for drawing colored bars. these functions informs TBarCode that drawing of colored bars (e.g. the Swiss cross in Swiss QR Code) is done by the specified function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.

See also:
BCGetFuncDrawColoredBar() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawHexagon ( t_BarCode * pBarCode,
fn_DrawHexagon fn )

Sets call-back function for drawing the MaxiCode finder rings. This function informs the TBarCode drawing functions that drawing of the MaxiCode hexagons is done by a callback function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.

See also:
BCGetFuncDrawHexagon() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawRing ( t_BarCode * pBarCode,
fn_DrawRing fn )

Sets call-back function for drawing the MaxiCode finder rings. This function informs the TBarCode drawing functions that drawing of the MaxiCode finders is done by a callback function.
Use this function to implement your custom drawing routines for specialized output requirements. Default: no callback function is used.

See also:
BCGetFuncDrawRing() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawRow ( t_BarCode * pBarCode,
fn_DrawRow fn )

Sets the callback function for drawing a single row of a barcode. these functions informs TBarCode that drawing of a single barcode row (one row for linear barcodes, multiple rows for 2D or stacked codes) is done by the specified function. The specified function will be called from BCDraw() instead of the built-in row-drawing functionality. Default: no callback function is used.
Use this function to implement your custom drawing routines for specialized output requirements.

See also:
BCGetFuncDrawRow() \param[in] pBarCode Pointer to barcode structure. \param[in] fn Callback function.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetFuncDrawTextA ( t_BarCode * pBarCode,
fn_DrawTextA fn )

ERRCODE BCSetFuncDrawTextW ( t_BarCode * pBarCode,
fn_DrawTextW fn )

ERRCODE BCSetIgnoreDpiFromDC ( t_BarCode * pBarCode,
BOOL bIgnore )

Determines whether TBarCode shall ignore the resolution from the device context (Windows only).

In some (rare) cases the Windows GDI device context does not contain a valid resolution. In such cases you can overwrite the resolution of the device context with a custom resolution. Use BCSetDPI() to set the custom resolution.

Note:
This flag is only relevant for Windows GDI drawing routines.

\param[in,out] pBarCode Pointer to barcode structure. \param[in,out] bIgnore TRUE: Overwrite resolution of device with custom resolution.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGetIgnoreDpiFromDC(), BCSetDPI()

ERRCODE BCSetLogFont ( t_BarCode * pBarCode,
const LOGFONTA * lf )

Sets the font of the currently active text object (usually the human readable text - Windows only). Sets the font characteristics used for the human readable text and the extra texts.

Note:
Pass a LOGFONTA structure. The font size in field lfHeight must be given in Point [1/72"]. We suggest to leave the field lfWidth 0. If you have to change it, you must set the width in 1/1000 mm.
Usage for printing and BCSaveImage() \code // LOGFONTA font size = size [point] pFont->lfHeight = sizeInPoints; // unit = [point] \endcode \note The currently active text object can be selected by calling BCSetActiveTextIndex(). \par We are using 8 Byte alignment! \par Windows only For UNIX use BCSetFontName() and BCSetFontHeight() instead. \see BCGetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] lf Pointer to LOGFONTA structure. \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

ERRCODE BCSetMirror ( t_BarCode * pBarCode,
BOOL bMirror )

Sets if barcode is drawn mirrored (Windows only). Mirrors barcode. Ideal for printing barcodes on transparent films. Used in pre-press applications.

See also:
BCGetMirror()
Note:
Works only in Windows when generating Windows GDI output. \param[in] pBarCode Pointer to barcode structure. \param[in] bMirror Mirror barcode. - TRUE: Bar-code will be mirrored - FALSE: Bar-code will be drawn normally (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetModWidthA ( t_BarCode * pBarCode,
LPCSTR szModWidth )

Sets a fixed module width (value is passed as string [0.001 mm]). The module width is defined as the width of the smallest element (bar or space) a barcode is using. Values are specified is 1/1000 mm. If the module width is not set explicitly (default), the module width is automatically adapted to the object size (Bounding rectangle) and the amount of data to be encoded. If a value is set, the width of the modules and therefore of the whole barcode can be controlled (this may also influence the readability!). If set, the barcode width depends on the amount of data encoded in the barcode. For most barcode symbologies the module width should not fall below 0.19 mm. When drawing (Paint) the size of the bounding rectangle must be wide enough to avoid clipping.

See also:
BCSetModWidthN()
Note:
This method expects that the required module width is converted into a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure. \param[in] szModWidth Module width [1/1000 mm] (reset to default = "-1").
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetModWidthN ( t_BarCode * pBarCode,
DOUBLE moduleWidth )

Sets a fixed module width (value is passed as numeric parameter [0.001 mm]). Sets a fixed module width passing a numeric value.

See also:
BCSetModWidth() \param[in] pBarCode Pointer to barcode structure. \param[in] moduleWidth Module width [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetModWidthW ( t_BarCode * pBarCode,
LPCWSTR szModWidth )

Sets a fixed module width (value is passed as string [0.001 mm]). The module width is defined as the width of the smallest element (bar or space) a barcode is using. Values are specified is 1/1000 mm. If the module width is not set explicitly (default), the module width is automatically adapted to the object size (Bounding rectangle) and the amount of data to be encoded. If a value is set, the width of the modules and therefore of the whole barcode can be controlled (this may also influence the readability!). If set, the barcode width depends on the amount of data encoded in the barcode. For most barcode symbologies the module width should not fall below 0.19 mm. When drawing (Paint) the size of the bounding rectangle must be wide enough to avoid clipping.

See also:
BCSetModWidthN()
Note:
This method expects that the required module width is converted into a string [1/1000 mm]! \param[in] pBarCode Pointer to barcode structure. \param[in] szModWidth Module width [1/1000 mm] (reset to default = "-1").
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetMustFit ( t_BarCode * pBarCode,
BOOL bMustFit )

Checks if the barcode fits into the bounding rectangle. This property means that the barcode must fit into the bounding rectangle during drawing. Background: When specifying a fixed module width the barcode width (not the width of the bounding rectangle) changes corresponding to the amount of data characters. In addition, "MustFit" verifies if the module width is less than 1 pixel (which is treated as error in this case) If "MustFit" is activated an error may be produced due to the above reasons during the BCDraw() method.

See also:
BCGetMustFit(), BCDraw() \param[in] pBarCode Pointer to barcode structure. \param[in] bMustFit - true: Check if barcode fits into bounding rectangle will be enabled - false: Check if barcode fits into bounding rectangle will be disabled (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetNotchHeight ( t_BarCode * pBarCode,
LONG nHeight )

Sets the additional length of the synchronization bars (notches). The term "notch" describes the synchronization bars used in some symbologies (like EAN, UPC, JAN, ...). These notches are a little bit longer than normal bars. The original length of these synchronization bars is determined by TBarCode automatically. Use this function to specify an additional length of these bars.

Note:
The notch height does not affect the barcode size calculation. So it is recommended that you don't let the notches exceed the barcode size.
Though negative notch heights are allowed, it is recommended to use positive values only.
See also:
BCGetNotchHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Additional notch height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetOptResolution ( t_BarCode * pBarCode,
BOOL bOpt )

Optimize barcode resolution. If this feature is activated, the module width will be adapted to the resolution of the output device (or output format) by TBarCode. All bars/spaces of a barcode are aligned to the output raster in a way that only full pixels for the bar (space) widths are used. This process depends either on the DPI in the drawing DC (screen or printer driver) or the DPI property in the TBarCode Library. Using optimization the readability of the barcode is (quite) independent from the given resolution (except the resulting bar code will be too small). Using this option is recommended for bitmap formats or low output resolutions (e.g. screen or thermal transfer printers).

Note:
The total width of the barcode may shrink compared to the non-optimized version. With eSizeMode_FitToBoundingRect the resulting barcode will not be larger than the bounding-rectangle. Keep care about the minimal size of the barcode!
If you use this feature with a custom module width, add a tolerance of 0.001 mm to the module width.
Hint for saving the barcode in Postscript/EPS format: If the DPI is not explicitly set in the library, the module width will be adapted to the default EPS 72 dpi raster width. That means the module width becomes a multiple of 1/72" (point). This may be relevant if you convert the EPS output to a raster / bitmap image format in a second step.
See also:
BCGetOptResolution() BCSetDPI() \param[in] pBarCode Pointer to barcode structure. \param[in] bOpt Optimize barcode for resolution. - true: Optimization will be enabled - false: Optimization will be disabled (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetOptionsA ( t_BarCode * pBarCode,
LPCSTR szOption )

Sets the barcode option string. \details The option string consists of at least one name/value pair followed by zero or more name/value pairs separated by space characters.
The format is: name=value{ name=value}.

A name must be a valid predefined option name. Values can be given in the following ways: \li As Simple Values.
Simple values are passed as they are. Spaces must be escaped by a preceding "". Valid values for boolean options are true and false.\n e.g.: NAME_BOOL=true NAME_NUMBER=123 NAME_DOUBLE=123.45 NAME_TEXT=ABC NAME_WITHSPACE=ABC abc \li As Text Values.
Text values are surrounded by single quotes. They may contain spaces which don't have to be escaped. Single quotes that occur in the text have to be escaped by a preceding "".
e.g.: NAME_TEXT='ABC' NAME_WITHSPACE='ABC abc' NAME_WITHQUOTE='Robin's Nest' \li As Complex Values.
Complex values are surrounded by curly braces "{...}". Complex value may consist of other simple, text, or complex values.
e.g.: NAME_COMPLEX={NAME_TEXT='ABC' NAME_NUMBER=123}

\details Following options are currently supported: \li DRAW_PS_Overprint=[bool] - enable/disable overprinting for PostScript output. \li DRAW_BarWidthReduction_Legacy=[enum] - enable legacy mode for bar width reduction (0 .. disable, 1 .. reduce each module, 2 .. reduce right and bottom). \li DRAW_BarWidthReduction_Values={x=[double] y=[double] unit=[enum]} - set the bar width reduction separated for horizontal (x) and vertical (y) destruction with given unit (see BCSetBarWidthReduction). \li DRAW_OptResolution=[bool] - optimize resolution (see BCSetOptResolution). \li CHECK_CDMethod=[enum] - set the check digit method (see BCSetCDMethod, e_CDMethod). \li CHECK_CodaBarIncludeStartStop=[bool] - determine whether to include start and stop character of CodaBar2 into check digit calculation. \li DATA_TranslateEsc=[bool] - enable/disable translation of escape sequences (see BCSetTranslateEsc). \li DATA_CodePage=[enum] - set the code page for the barcode data (see BCSetCodePage, e_CodePage). \li DATA_Format=[string] - set the format string (see BCSetFormatW). \li MQR_Version=[enum] - set the Micro QR-Code version (see BCSet_MQR_Version, e_MQRVersion). \li MQR_Mask=[enum] - set the Micro QR-Code mask (see BCSet_MQR_Mask, e_MQRMask). \li QrCode_Version=[enum] - set the QR-Code version (see BCSet_QR_Version, e_QRVersion). \li QrCode_Format=[enum] - set the QR-Code format (see BCSet_QR_Format, e_QRFormat). \li QrCode_FmtAppIndicator=[string] - set the QR-Code format application indicator (see BCSet_QR_FmtAppIndicator). \li QrCode_ECLevel=[enum] - set the QR-Code error correction level (see BCSet_QR_ECLevel, e_QRECLevel). \li QrCode_Mask=[enum] - set the QR-Code mask (see BCSet_QR_Mask, e_QRMask). \li QrCode_KanjiChineseCompaction=[enum] - set the QR-Code compaction mode (see BCSet_QR_KanjiChineseCompaction, e_QRMBCompaction). \li QrCode_Append={sum=[int] index=[int] parity=[byte]} - set the QR-Code structured append (see BCSet_QR_Append). \li QrCode_EncodingMode=[enum] - set the QR-Code Encoding Mode (0 .. optimal, 1 .. prefer binary/Byte, 2 .. prefer alphanumeric). \li QrCode_SizeFactorSwissCross=[double] - set the size factor of the Swiss Cross in the Swiss QR Code (default=1.0). \li DataMatrix_Size=[enum] - set the Data Matrix Size (see BCSet_DM_Size, e_DMSizes). \li DataMatrix_Rectangular=[bool] - enforce a rectangular symbol (see BCSet_DM_Rectangular). \li DataMatrix_Format=[enum] - set the Data Matrix format (see BCSet_DM_Format, e_DMFormat). \li DataMatrix_Append={sum=[int] index=[int] fileId=[int]} - set the Data Matrix structured append (see BCSet_DM_Append). \li DataMatrix_EncodingMode=[enum] - set the Data Matrix Encoding Mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer ASCII, 3 .. prefer C40). \li DataMatrix_ECC144Alternative=[bool] - enable/disable alternative ECC for symbol size 144x144. \li DataMatrix_CaptivaScanner=[bool] - enable/disable CAPTIVA scanner mode. \li HanXin_Version=[enum] - set the Han Xin version (see BCSet_HanXin_Version, e_HanXinSizes). \li HanXin_EnforceBinaryEncoding=[bool] - do enforce binary encoding (see BCSet_HanXin_EnforceBinaryEncoding). \li HanXin_ECLevel=[enum] - set the Han Xin error correction level (see BCSet_HanXin_ECLevel, e_HanXinECLevel). \li HanXin_Mask=[enum] - set the Han Xin mask (see BCSet_HanXin_Mask, e_HanXinMask). \li DotCode_Size={mode=[enum] size=[string]} - set the DotCode Size (see BCSet_DotCode_Size, e_DCSizeMode). \li DotCode_PrintDirection=[enum] - set the DotCode print direction (see BCSet_DotCode_PrintDirection, e_DCPrintDirection). \li DotCode_EnforceBinaryEncoding=[bool] (deprecated, please use DotCode_PreferredEncoding) - do enforce binary encoding (see BCSet_DotCode_EnforceBinaryEncoding). \li DotCode_PreferredEncoding=[enum] - set the DotCode preferred encoding mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer Mode A, 3 .. prefer Mode B). \li DotCode_Format={format=[enum] specifier=[string]} - set the DotCode format (see BCSet_DotCode_Format, e_DCFormat). \li DotCode_Mask=[enum] - set the DotCode mask (see BCSet_DotCode_Mask, e_DCMask). \li DotCode_Append={on=<bool> total=<int> index=<int>} - set the DotCode structured append (see BCSet_DotCode_AppendActive, BCSet_DotCode_Append). \li DotCode_ExtMaskSelection=[bool] - use the extended DotCode mask selection algorithm. This flag has only effect, when no specific mask is selected. \li PDF417_MacroPDF417={fileId=[string] index=[int] last=[bool] count=[int]} - set the most common Macro PDF417 parameters. \li EanUpc_NotchHeight=[int] - set the EAN/UPC notch height (see BCSetNotchHeight). \li EanUpc_ShowQZMarker=[bool] - show quiet zone markers (see Format Setting '<'). \li EanUpc_LegacyDraw=[bool] - enable legacy draw mode (without increasing or decreasing the module width). \li Code128_LegacyMode=[bool] - enable legacy encoding mode (no extended encoding, mapping of umlauts). \li Hibc_Lic_Version=[enum] - set the HIBC LIC standard version (0 .. V2.2, 1 .. V2.4, 2 .. V2.6). \li Hibc_Pas_Version=[enum] - set the HIBC PAS standard version (0 .. V1.2, 1 .. V1.3). \li Hibc_Replace0=[bool] - replace '0' in display text by 'Ø'. \li Comp_CCType=[enum] - set the composite component type (see BCSet2DCompositeComponent, e_CCType). Valid values for: \li [bool] (boolean) are true and false. \li [enum] (enumeration) are integer values in the range of the according enumeration data type. See also "tecbcenum.h". \li [string] (string) are string/text values. \li [int] (integer) are integer values. \li [byte] (byte) are integer values in the range of [0..255]. \param[in,out] pBarCode Pointer to barcode structure. \param[in] szOption Option string.

See also:
BCGetOption()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred (e.g. if any of the options was not found). ---------------------------------------------------------------------------.

\\\\

ERRCODE BCSetOptionsW ( t_BarCode * pBarCode,
LPCWSTR szOption )

Sets the barcode option string. \details The option string consists of at least one name/value pair followed by zero or more name/value pairs separated by space characters.
The format is: name=value{ name=value}.

A name must be a valid predefined option name. Values can be given in the following ways: \li As Simple Values.
Simple values are passed as they are. Spaces must be escaped by a preceding "". Valid values for boolean options are true and false.\n e.g.: NAME_BOOL=true NAME_NUMBER=123 NAME_DOUBLE=123.45 NAME_TEXT=ABC NAME_WITHSPACE=ABC abc \li As Text Values.
Text values are surrounded by single quotes. They may contain spaces which don't have to be escaped. Single quotes that occur in the text have to be escaped by a preceding "".
e.g.: NAME_TEXT='ABC' NAME_WITHSPACE='ABC abc' NAME_WITHQUOTE='Robin's Nest' \li As Complex Values.
Complex values are surrounded by curly braces "{...}". Complex value may consist of other simple, text, or complex values.
e.g.: NAME_COMPLEX={NAME_TEXT='ABC' NAME_NUMBER=123}

\details Following options are currently supported: \li DRAW_PS_Overprint=[bool] - enable/disable overprinting for PostScript output. \li DRAW_BarWidthReduction_Legacy=[enum] - enable legacy mode for bar width reduction (0 .. disable, 1 .. reduce each module, 2 .. reduce right and bottom). \li DRAW_BarWidthReduction_Values={x=[double] y=[double] unit=[enum]} - set the bar width reduction separated for horizontal (x) and vertical (y) destruction with given unit (see BCSetBarWidthReduction). \li DRAW_OptResolution=[bool] - optimize resolution (see BCSetOptResolution). \li CHECK_CDMethod=[enum] - set the check digit method (see BCSetCDMethod, e_CDMethod). \li CHECK_CodaBarIncludeStartStop=[bool] - determine whether to include start and stop character of CodaBar2 into check digit calculation. \li DATA_TranslateEsc=[bool] - enable/disable translation of escape sequences (see BCSetTranslateEsc). \li DATA_CodePage=[enum] - set the code page for the barcode data (see BCSetCodePage, e_CodePage). \li DATA_Format=[string] - set the format string (see BCSetFormatW). \li MQR_Version=[enum] - set the Micro QR-Code version (see BCSet_MQR_Version, e_MQRVersion). \li MQR_Mask=[enum] - set the Micro QR-Code mask (see BCSet_MQR_Mask, e_MQRMask). \li QrCode_Version=[enum] - set the QR-Code version (see BCSet_QR_Version, e_QRVersion). \li QrCode_Format=[enum] - set the QR-Code format (see BCSet_QR_Format, e_QRFormat). \li QrCode_FmtAppIndicator=[string] - set the QR-Code format application indicator (see BCSet_QR_FmtAppIndicator). \li QrCode_ECLevel=[enum] - set the QR-Code error correction level (see BCSet_QR_ECLevel, e_QRECLevel). \li QrCode_Mask=[enum] - set the QR-Code mask (see BCSet_QR_Mask, e_QRMask). \li QrCode_KanjiChineseCompaction=[enum] - set the QR-Code compaction mode (see BCSet_QR_KanjiChineseCompaction, e_QRMBCompaction). \li QrCode_Append={sum=[int] index=[int] parity=[byte]} - set the QR-Code structured append (see BCSet_QR_Append). \li QrCode_EncodingMode=[enum] - set the QR-Code Encoding Mode (0 .. optimal, 1 .. prefer binary/Byte, 2 .. prefer alphanumeric). \li QrCode_SizeFactorSwissCross=[double] - set the size factor of the Swiss Cross in the Swiss QR Code (default=1.0). \li DataMatrix_Size=[enum] - set the Data Matrix Size (see BCSet_DM_Size, e_DMSizes). \li DataMatrix_Rectangular=[bool] - enforce a rectangular symbol (see BCSet_DM_Rectangular). \li DataMatrix_Format=[enum] - set the Data Matrix format (see BCSet_DM_Format, e_DMFormat). \li DataMatrix_Append={sum=[int] index=[int] fileId=[int]} - set the Data Matrix structured append (see BCSet_DM_Append). \li DataMatrix_EncodingMode=[enum] - set the Data Matrix Encoding Mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer ASCII, 3 .. prefer C40). \li DataMatrix_ECC144Alternative=[bool] - enable/disable alternative ECC for symbol size 144x144. \li DataMatrix_CaptivaScanner=[bool] - enable/disable CAPTIVA scanner mode. \li HanXin_Version=[enum] - set the Han Xin version (see BCSet_HanXin_Version, e_HanXinSizes). \li HanXin_EnforceBinaryEncoding=[bool] - do enforce binary encoding (see BCSet_HanXin_EnforceBinaryEncoding). \li HanXin_ECLevel=[enum] - set the Han Xin error correction level (see BCSet_HanXin_ECLevel, e_HanXinECLevel). \li HanXin_Mask=[enum] - set the Han Xin mask (see BCSet_HanXin_Mask, e_HanXinMask). \li DotCode_Size={mode=[enum] size=[string]} - set the DotCode Size (see BCSet_DotCode_Size, e_DCSizeMode). \li DotCode_PrintDirection=[enum] - set the DotCode print direction (see BCSet_DotCode_PrintDirection, e_DCPrintDirection). \li DotCode_EnforceBinaryEncoding=[bool] (deprecated, please use DotCode_PreferredEncoding) - do enforce binary encoding (see BCSet_DotCode_EnforceBinaryEncoding). \li DotCode_PreferredEncoding=[enum] - set the DotCode preferred encoding mode (0 .. optimal, 1 .. enforce binary, 2 .. prefer Mode A, 3 .. prefer Mode B). \li DotCode_Format={format=[enum] specifier=[string]} - set the DotCode format (see BCSet_DotCode_Format, e_DCFormat). \li DotCode_Mask=[enum] - set the DotCode mask (see BCSet_DotCode_Mask, e_DCMask). \li DotCode_Append={on=<bool> total=<int> index=<int>} - set the DotCode structured append (see BCSet_DotCode_AppendActive, BCSet_DotCode_Append). \li DotCode_ExtMaskSelection=[bool] - use the extended DotCode mask selection algorithm. This flag has only effect, when no specific mask is selected. \li PDF417_MacroPDF417={fileId=[string] index=[int] last=[bool] count=[int]} - set the most common Macro PDF417 parameters. \li EanUpc_NotchHeight=[int] - set the EAN/UPC notch height (see BCSetNotchHeight). \li EanUpc_ShowQZMarker=[bool] - show quiet zone markers (see Format Setting '<'). \li EanUpc_LegacyDraw=[bool] - enable legacy draw mode (without increasing or decreasing the module width). \li Code128_LegacyMode=[bool] - enable legacy encoding mode (no extended encoding, mapping of umlauts). \li Hibc_Lic_Version=[enum] - set the HIBC LIC standard version (0 .. V2.2, 1 .. V2.4, 2 .. V2.6). \li Hibc_Pas_Version=[enum] - set the HIBC PAS standard version (0 .. V1.2, 1 .. V1.3). \li Hibc_Replace0=[bool] - replace '0' in display text by 'Ø'. \li Comp_CCType=[enum] - set the composite component type (see BCSet2DCompositeComponent, e_CCType). Valid values for: \li [bool] (boolean) are true and false. \li [enum] (enumeration) are integer values in the range of the according enumeration data type. See also "tecbcenum.h". \li [string] (string) are string/text values. \li [int] (integer) are integer values. \li [byte] (byte) are integer values in the range of [0..255]. \param[in,out] pBarCode Pointer to barcode structure. \param[in] szOption Option string.

See also:
BCGetOption()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred (e.g. if any of the options was not found). ---------------------------------------------------------------------------.

\\\\

VOID BCSetPCLMode ( t_BarCode * pBarcode,
e_PCLMode mode )

Sets the PCL output mode. By default functions, such as BCPCLToFile(), create PCL Level 5 output which includes HP-GL/2 drawing operations. HP-GL/2 is part of PCL Level 5 and thus should be supported by all PCL Level 5 compatible printers. Though, some printers and some conversion tools cannot handle HP-GL/2 instructions correctly.
With this function the HP-GL/2 output generation can be turned off.
But you need to be aware that some barcode types, such as MAXICODE, can only be drawn when with HP-GL/2 enabled.

See also:
BCGetPCLMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] mode The PCL output mode. ----------------------------------------------------------------------------.

ERRCODE BCSetPrintText ( t_BarCode * pBarCode,
BOOL bReadable,
BOOL bAbove )

Sets options concerning the currently active text (usually the human readable text). Determines whether the currently active text should be printed and where it should be located (below or above the bar code).

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
The parameter <i>bAbove</i> can only be applied to the human readable text and is ignored by the <i>extra text</i> objects. \see BCGetPrintText(), BCGetTextAbove(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] bReadable Print human readable text. - true: Text is printed (this is the default) - false: Text is not printed \param[in] bAbove Print human readable text above barcode. - true: Text is printed above barcode - false: Text is printed below barcode (this is the default) \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

ERRCODE BCSetQuietZone ( t_BarCode * pBarCode,
LPRECTD prQuietZone,
e_MUnit eQZUnit )

Sets the size of the quiet-zones in given units. Specifies the size of the required quiet zone in the respective units. A quiet zone is an unprinted area above, below, right, or left of a barcode.

Note:
If you specify the quiet zone in modules, the width of the quiet zone depends on the module width (respectively “narrow bar width X”). \param[in] pBarCode Pointer to barcode structure. \param[in] prQuietZone Pointer to a rectangle that specifies the size of a quiet zone. \param[in] eQZUnit The units in which the size of a quiet zone is given (valid units are: eMUDefault, eMUPixel, eMUMM, eMUMils, eMUInch, eMUModules).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if an error occurred.
See also:
BCGetQuietZone() ----------------------------------------------------------------------------.

VOID BCSetQuietZoneColorCMYK ( t_BarCode * pBarcode,
e_QuietZone eZone,
BOOL bUseDefault,
DOUBLE dCyan,
DOUBLE dMagenta,
DOUBLE dYellow,
DOUBLE dBlack )

Sets the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dCyan The cyan color component (range: 0.0 - 1.0). \param[in] dMagenta The magenta color component (range: 0.0 - 1.0). \param[in] dYellow The yellow color component (range: 0.0 - 1.0). \param[in] dBlack The black color component (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetQuietZoneColorGDI ( t_BarCode * pBarcode,
e_QuietZone eZone,
BOOL bUseDefault,
COLORREF color )

Sets the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] color The RGB color of the barcode encoded as COLORREF (DWORD). ----------------------------------------------------------------------------.

VOID BCSetQuietZoneColorGray ( t_BarCode * pBarcode,
e_QuietZone eZone,
BOOL bUseDefault,
DOUBLE dGray )

Sets the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dGray The grayscale color of the barcode (range: 0.0 - 1.0). ----------------------------------------------------------------------------.

VOID BCSetQuietZoneColorRGB ( t_BarCode * pBarcode,
e_QuietZone eZone,
BOOL bUseDefault,
DOUBLE dRed,
DOUBLE dGreen,
DOUBLE dBlue )

Sets the background color of the quiet zone.

Note:
Property background mode must be opaque in order to draw the quiet zone with the specified background color.
See also:
BCGetQuietZoneColorCMYK(), BCGetQuietZoneColorGDI(), BCGetQuietZoneColorGray(), BCGetQuietZoneColorRGB(), BCSetBkMode() \param[in,out] pBarcode Pointer to barcode structure. \param[in] eZone Flag that determines the quiet zone side. \param[in] bUseDefault Flag that determines whether to use the default background color. If set to TRUE the given color values are ignored. \param[in] dRed Red color component (range: 0.0 - 1.0) \param[in] dGreen Green color component (range: 0.0 - 1.0) \param[in] dBlue Blue color component (range: 0.0 - 1.0) ----------------------------------------------------------------------------.

ERRCODE BCSetRatioA ( t_BarCode * pBarCode,
LPCSTR szRatio )

Set print-ratio string. Specifies the print-ratio string for the width-relationship of the single bars and spaces. A format template used for this string is available in the property RatioHint (see BCGetRatioHint()). The ratio string looks like "1B:2B:...1S:2S" where 1B stands for the ratio-value for the most narrow bar, 1S for the ratio-value of the most-narrow space. The number of values for bars (xB) and the number of values for the spaces (xS) depends on the current symbology. It is explained in more detail in the separate document Barcode Reference.

See also:
BCGetRatio(), BCGetRatioHint() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Print-ratio string in the form "1:2:...1:2" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetRatioW ( t_BarCode * pBarCode,
LPCWSTR szRatio )

Set print-ratio string. Specifies the print-ratio string for the width-relationship of the single bars and spaces. A format template used for this string is available in the property RatioHint (see BCGetRatioHint()). The ratio string looks like "1B:2B:...1S:2S" where 1B stands for the ratio-value for the most narrow bar, 1S for the ratio-value of the most-narrow space. The number of values for bars (xB) and the number of values for the spaces (xS) depends on the current symbology. It is explained in more detail in the separate document Barcode Reference.

See also:
BCGetRatio(), BCGetRatioHint() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Print-ratio string in the form "1:2:...1:2" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetRotation ( t_BarCode * pBarCode,
e_Degree eRotation )

Sets the rotation of the barcode (counter-clockwise). Rotates the barcode in 90° steps counter-clockwise. If you experience problems with the human readable text, make sure a suitable TrueType font is selected (the selected font must be support rotations).

See also:
BCGetRotation(), BCSetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] eRotation Rotation (counter-clockwise).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetSizeMode ( t_BarCode * pBarCode,
e_SizeMode mode )

Sets the mode that determines the barcode size. \param[in,out] pBarCode Pointer to barcode structure. \param[in] mode Mode that determines barcode size.

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------.

ERRCODE BCSetTextA ( t_BarCode * pBarCode,
LPCSTR szText,
LONG nLen )

Sets the barcode data (ASCII version). This function applies the input data to the barcode. The input data is also often called "utilisable data". The set of allowed characters depends on the selected barcode type. Some barcode types support alphanumeric or even binary characters, others only numeric. Some types require a specific data length, others do not. If the input data is invalid for the currently selected barcode type, an error code <> 0 is returned.
Please examine the Barcode Reference (https://www.tec-it.com/documentation) to be informed about the data format of the bar codes supported by TEC-IT.

Note:
Please make sure that you set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly.
Encoding (ANSI / UNICODE): The user can either pass ANSI encoded data by calling <b>BCSetTextA</b> or UNICODE encoded data via <b>BCSetTextW</b>.\n The ANSI-encoded data consists of single byte characters and must correspond to Windows or IBM <i>CodePage 1252</i>, which is a special variety of <i>Latin-1</i>.\n /par On Windows systems UNICODE data is UTF-16 encoded, on AIX the encoding is UCS-2. Both are 2-byte encodings. On other Linux and UNIX system UCS-4, a 4-byte encoding, is used instead. \see BCGetText(), BCSetTextA(), BCSetTextW(), BCIsTextUnicode(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text. \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

\

ERRCODE BCSetTextAlignment ( t_BarCode * pBarCode,
e_BCAlign eAlign )

Sets the alignment of the currently active text object (usually the human readable text). The default is center alignment.

Note:
The currently active text object can be selected by calling BCSetActiveTextIndex().
See also:
BCGetTextAlignment(), BCSetActiveTextIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] eAlign Text alignment enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetTextDist ( t_BarCode * pBarCode,
LONG nTextDist )

Sets the distance between the human readable text and the barcode. The default text distance is computed by TBarCode automatically, but can be overridden by calling BCSetTextDist().

Note:
This function is only supported by the human readable text but NOT by the extra texts.
See also:
BCGetTextDist(), BCSetLogFont() \param[in] pBarCode Pointer to barcode structure. \param[in] nTextDist Distance between barcode and human readable text [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSetTextEBCDIC ( INT nCodepage,
t_BarCode * pBarCode,
LPCSTR szText,
LONG nLen )

Sets barcode text (EBCDIC version). This function works the same like BCSetTextA() except that the text is specified in EBCDIC encoding and internally converted to ASCII.

Note:
Please make sure to set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly. \param[in] nCodepage The code page number. \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text (EBCDIC encoded). \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

\

ERRCODE BCSetTextPosition ( t_BarCode * pBarCode,
LPRECT pRect,
BOOL bClipping,
BOOL bWordWrap )

ERRCODE BCSetTextRotation ( t_BarCode * pBarCode,
e_Degree eRotation )

Sets the the rotation of the currently active text object. The text rotation is defined relatively to the bar code rotation. This means that both rotation values will be added.

Note:
Works only if the currently active text is NOT the human readable text (with index 0) but one of the extra text objects.
The currently active text object can be selected by calling BCSetActiveTextIndex(). \see BCGetActiveTextIndex(), BCSetActiveTextIndex(), BCGetTextRotation() \param[in] pBarCode Pointer to barcode structure. \param[in] eRotation The text rotation (counter-clockwise). \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

ERRCODE BCSetTextW ( t_BarCode * pBarCode,
LPCWSTR szText,
LONG nLen )

Sets the barcode data (ASCII version). This function applies the input data to the barcode. The input data is also often called "utilisable data". The set of allowed characters depends on the selected barcode type. Some barcode types support alphanumeric or even binary characters, others only numeric. Some types require a specific data length, others do not. If the input data is invalid for the currently selected barcode type, an error code <> 0 is returned.
Please examine the Barcode Reference (https://www.tec-it.com/documentation) to be informed about the data format of the bar codes supported by TEC-IT.

Note:
Please make sure that you set up all barcode parameters (like barcode type, translation of escape sequences, etc.) before assigning the barcode data. Otherwise the input data will not be converted to the target character set correctly.
Encoding (ANSI / UNICODE): The user can either pass ANSI encoded data by calling <b>BCSetTextA</b> or UNICODE encoded data via <b>BCSetTextW</b>.\n The ANSI-encoded data consists of single byte characters and must correspond to Windows or IBM <i>CodePage 1252</i>, which is a special variety of <i>Latin-1</i>.\n /par On Windows systems UNICODE data is UTF-16 encoded, on AIX the encoding is UCS-2. Both are 2-byte encodings. On other Linux and UNIX system UCS-4, a 4-byte encoding, is used instead. \see BCGetText(), BCSetTextA(), BCSetTextW(), BCIsTextUnicode(), BCGetTextLen() \param[in] pBarCode Pointer to barcode structure. \param[in] szText Bar-code text. \param[in] nLen Length of input string. - >0: Length of string is specified in nLen - 0: TBarCode expects a 0-terminated string \retval #ERRCODE ErrOk (0) in case of success. Non-zero if error occurred.
----------------------------------------------------------------------------.

\

ERRCODE BCSetTranslateEsc ( t_BarCode * pBarCode,
BOOL bTranslate )

Activates/deactivates the translation of escape-sequences. Defines if escape-sequences in the input data (e.g. "
" in "123\n456") shall be translated before encoding takes place. If the translation of escape-sequences is switched off, all characters are encoded "as-is". If it is activated, escape-sequences are translated into their corresponding characters. See Barcode Reference for more information.

Note:
In order to encode barcode specific control characters (like subset selection in Code128 or FNC1) escape sequences are required.
Escape sequences cannot be used if data compression is activated (BCSetCompression()). If data compression is activated, Escape sequences are not translated. In addition, Escape sequences are not supported with target code page UTF-16 (will raise an error).
See also:
BCGetTranslateEsc(), BCSetTextA(), BCSetTextW() \param[in] pBarCode Pointer to barcode structure. \param[in] bTranslate Translate escape sequences. - true: Escape sequences (like "
") are translated - false: Escape sequences are not translated (the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_AppendActive ( t_BarCode * pBarCode,
BOOL bActivate )

Activates/Deactivates Aztec Code "Structured Append" mode. To set the data for structurer Aztec Code allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. This function activates or deactivates the structured append mode. To change the structured append data use function BCSet_Aztec_AppendData. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.

Note:
To change the settings of structured append mode call function BCSet_Aztec_AppendData.
See also:
BCSet_Aztec_AppendData(), BCGet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] bActivate Determines if structured append mode should be activated (with TRUE) or deactivated (with FALSE)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_AppendDataA ( t_BarCode * pBarCode,
CHAR cTotal,
CHAR cIndex,
LPCSTR szMessageID )

Sets Aztec Code "Structured Append" data. This function sets the total number of symbols and the index of the actual Aztec Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.

Note:
To use structured append mode it must be activated by calling the function BCSet_Aztec_AppendActive.
If a Message-ID is used, all symbols within a symbol chain must have the same one.
See also:
BCGet_Aztec_AppendTotal(), BCGet_Aztec_AppendIndex(), BCGet_Aztec_AppendMessageID(), BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] cTotal Total number of symbols 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] cIndex Index of current symbol 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] szMessageID Message ID [optional] (must be NULL or the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_AppendDataW ( t_BarCode * pBarCode,
WCHAR cTotal,
WCHAR cIndex,
LPCWSTR szMessageID )

Sets Aztec Code "Structured Append" data. This function sets the total number of symbols and the index of the actual Aztec Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.

Note:
To use structured append mode it must be activated by calling the function BCSet_Aztec_AppendActive.
If a Message-ID is used, all symbols within a symbol chain must have the same one.
See also:
BCGet_Aztec_AppendTotal(), BCGet_Aztec_AppendIndex(), BCGet_Aztec_AppendMessageID(), BCSet_Aztec_AppendActive() \param[in] pBarCode Pointer to barcode structure. \param[in] cTotal Total number of symbols 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] cIndex Index of current symbol 'A'..'Z', with 'A'=1 and 'Z'=26. \param[in] szMessageID Message ID [optional] (must be NULL or the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_EnforceBinaryEncoding ( t_BarCode * pBarCode,
BOOL bEnforceBinary )

Determines whether Aztec Code shall be encoded in binary mode or not.

Note:
Binary mode usually is faster but produces bigger symbols than text mode
See also:
BCGet_Aztec_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_ErrorCorrection ( t_BarCode * pBarCode,
LONG nErrorCorrection )

Sets the number of error correction codewords in percent (from 0 to 99) of the symbol size.

Note:
By default the error correction level is 23%.
3 additional check words are added for error detection.
See also:
BCGet_Aztec_ErrorCorrection() \param[in] pBarCode Pointer to barcode structure. \param[in] nErrorCorrection level of error correction in percent (default is 23).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_FormatA ( t_BarCode * pBarCode,
e_AztecFormat eFormat,
LPCSTR szFormatSpecifier )

Specifies Aztec Code encoding format. Specifies the encoding format (standard, GS1 or industry). Default is eAztecFm_Default (standard format).

See also:
BCGet_Aztec_Format(), BCGet_Aztec_FormatSpecifier() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Aztec Code format. \param[in] szFormatSpecifier Format specifier for industry format. Consist of 1 letter (upper or lower) or 2 digits. This parameter is ignored for other code formats.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_FormatW ( t_BarCode * pBarCode,
e_AztecFormat eFormat,
LPCWSTR szFormatSpecifier )

Specifies Aztec Code encoding format. Specifies the encoding format (standard, GS1 or industry). Default is eAztecFm_Default (standard format).

See also:
BCGet_Aztec_Format(), BCGet_Aztec_FormatSpecifier() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Aztec Code format. \param[in] szFormatSpecifier Format specifier for industry format. Consist of 1 letter (upper or lower) or 2 digits. This parameter is ignored for other code formats.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_RuneMode ( t_BarCode * pBarCode,
BOOL bRuneMode )

Determines whether symbol shall be encoded in Aztec Rune mode.

Note:
Aztec Runes are special Aztec Codes without data section.
Aztec Runes can encode values from 0 to 255
See also:
BCGet_Aztec_RuneMode() \param[in] pBarCode Pointer to barcode structure. \param[in] bRuneMode activate Aztec Rune mode (TRUE) or deactivate it (FALSE)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Aztec_Size ( t_BarCode * pBarCode,
e_AztecSizes eSize )

Sets Aztec Code symbol size. Specifies the size of the symbol. The size is given in rows and columns and can be between 15 x 15 and 151 x 151. If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.

Note:
The sizes eAztecSz_19x19_Rd, eAztecSz_23x23_Rd, eAztecSz_27x27_Rd are specially used for reader programming
See also:
BCGet_Aztec_Size() \param[in] pBarCode Pointer to barcode structure. \param[in] eSize Bar-code size enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_CBF_Columns ( t_BarCode * pBarCode,
LONG nColumns )

Adjusts the number of Codablock-F columns. Specifies the number of columns that should be used for the Codablock-F symbol. If this value is not set explicitly, TBarCode computes the number of columns automatically (default).

See also:
BCGet_CBF_Columns() \param[in] pBarCode Pointer to barcode structure. \param[in] nColumns Number of columns [4..62] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_CBF_Format ( t_BarCode * pBarCode,
e_CBFFormat eFormat )

Sets Codablock-F code format. Specifies the encoding format for Codablock-F. Selects UCC/EAN or the default encoding format.

See also:
BCGet_CBF_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Codablock F format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_CBF_RowHeight ( t_BarCode * pBarCode,
LONG nHeight )

Sets the row height for Codablock-F. Specifies the height of an individual row in 1/1000 mm. If this value is not set explicitly (=default), the height is calculated according to the bounding rectangle when drawing (see BCDraw()). If set, ensure that the bounding rectangle is big enough to avoid clipping.

See also:
BCGet_CBF_RowHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_CBF_RowSeparatorHeight ( t_BarCode * pBarCode,
LONG nHeight )

Sets the height of the Codablock-F row-separator. Specifies the height of the row-separator in 1/1000 mm. If this value is not set (=default), the height of the separator row is calculated automatically (according to the bounding rectangle). If set, ensure that the bounding rectangle is big enough to avoid clipping.

See also:
BCGet_CBF_RowSeparatorHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row separator height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_CBF_Rows ( t_BarCode * pBarCode,
LONG nRows )

Adjusts the number of CodaBlock-F rows. Specifies the number of rows that should be used for the CodaBlock-F symbol. If this value is not set explicitly, TBarCode computes the number of rows automatically (default).

See also:
BCGet_CBF_Rows() \param[in] pBarCode Pointer to barcode structure. \param[in] nRows Number of rows [2..44] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DM_Append ( t_BarCode * pBarCode,
LONG nSum,
LONG nIndex,
LONG nFileID )

Activates Data Matrix "Structured Append" mode. Data Matrix allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. This function sets the total number of symbols and the index of the actual Data Matrix symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. Default: Standard Structured Append is used.

Note:
All symbols within a symbol chain must be identified by a unique File-ID.
See also:
BCGet_DM_AppendSum(), BCGet_DM_AppendIndex(), BCGet_DM_AppendFileID() \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Number of symbols [2..16] (reset to default/disable = -1). \param[in] nIndex Index of symbol [1..16]. \param[in] nFileID File ID (must be the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DM_EnforceBinaryEncoding ( t_BarCode * pBarCode,
BOOL bEnforceBinary )

Determines whether Data Matrix shall be encoded in binary mode or not.

Note:
Binary mode usually is faster but produces bigger symbols than text mode
See also:
BCGet_DM_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DM_Format ( t_BarCode * pBarCode,
e_DMFormat eFormat )

Specifies Data Matrix encoding format. Specifies the generated code format. Per default TBarCode uses the default encoding scheme.

See also:
BCGet_DM_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat Data Matrix format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DM_Rectangular ( t_BarCode * pBarCode,
BOOL bRect )

Switches between square or rectangular Data Matrix symbols. Per default TBarCode computes square Data Matrix symbols. Change this behavior with this function.

See also:
BCGet_DM_Rectangular() BCSet_DM_Size() \param[in] pBarCode Pointer to barcode structure. \param[in] bRect Rectangular symbols preferred. - true: Generate rectangular symbols - false: Generate square symbols (this is the default)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DM_Size ( t_BarCode * pBarCode,
e_DMSizes eSize )

Sets Data Matrix symbol size. Specifies the size of the symbol. The size is given in rows and columns and can be between 10 x 10 and 144 x 144 for squares or 8 x 18 and 26 x 64 for rectangles. The Data Matrix Rectangular Extension (DMRE) specifies the matrix range from 8 x 48 to 26 x 64.

Note:
Each matrix size has a limited data capacity. If the amount of data cannot be encoded with the selected matrix, an error will be raised. If no fixed size is selected TBarCode computes and selects the minimal required size of the symbol automatically.
See also:
BCGet_DM_Size() BCSet_DM_Rectangular() \param[in] pBarCode Pointer to barcode structure. \param[in] eSize Bar-code size enumerator.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_DotCode_Append ( t_BarCode * pBarCode,
LONG nTotal,
LONG nIndex )

ERRCODE BCSet_DotCode_AppendActive ( t_BarCode * pBarCode,
BOOL bActivate )

ERRCODE BCSet_DotCode_EnforceBinaryEncoding ( t_BarCode * pBarCode,
BOOL bEnforceBinary )

ERRCODE BCSet_DotCode_FormatA ( t_BarCode * pBarCode,
e_DCFormat eFormat,
LPCSTR szFormatSpecifier )

ERRCODE BCSet_DotCode_FormatW ( t_BarCode * pBarCode,
e_DCFormat eFormat,
LPCWSTR szFormatSpecifier )

ERRCODE BCSet_DotCode_Mask ( t_BarCode * pBarCode,
e_DCMask eMask )

ERRCODE BCSet_DotCode_PrintDirection ( t_BarCode * pBarCode,
e_DCPrintDirection eDirection )

ERRCODE BCSet_DotCode_SizeA ( t_BarCode * pBarCode,
e_DCSizeMode eMode,
LPCSTR szSize )

ERRCODE BCSet_DotCode_SizeW ( t_BarCode * pBarCode,
e_DCSizeMode eMode,
LPCWSTR szSize )

ERRCODE BCSet_HanXin_ECLevel ( t_BarCode * pBarCode,
e_HanXinECLevel eECLevel )

Sets Han Xin Code error correction level (ECL). Sets Han Xin Code error correction level (ECL). If not set, TBarCode uses error correction level "1" per default.

See also:
BCGet_HanXin_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] eECLevel Error correction level.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_HanXin_EnforceBinaryEncoding ( t_BarCode * pBarCode,
BOOL bEnforceBinary )

Determines whether Han Xin Code shall be encoded in binary mode or not.

Note:
Binary mode usually is faster but produces bigger symbols than optimized symbol mode
See also:
BCGet_HanXin_EnforceBinaryEncoding() \param[in] pBarCode Pointer to barcode structure. \param[in] bEnforceBinary enforce binary encoding mode (true/false).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_HanXin_Mask ( t_BarCode * pBarCode,
e_HanXinMask eMask )

Sets Han Xin Code mask pattern (0-3). Specifies the so-called "mask" that is applied to the Han Xin Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is somewhat time consuming - if the encoding process must be optimized set a predefined mask.

See also:
BCGet_HanXin_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_HanXin_Version ( t_BarCode * pBarCode,
e_HanXinSizes eVersion )

Specifies the symbol version (the symbol size). Specifies the size of the symbol. Han Xin Code supports a number of different symbol sizes - these sizes are called "versions" (see e_HanXinSizes). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.

See also:
BCGet_HanXin_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_MPDF417_Mode ( t_BarCode * pBarCode,
e_MPDFMode eMode )

Sets Micro PDF encoding mode. This option adjusts how data is encoded as MicroPDF417 and if the scanner should emulate Code-128. In most cases the Default mode is the best choice. Often the scanner hardware does not support all modes listed here - check with your reading device first. If not set explicitly, TBarCode analyzes input data. Text, numeric or binary compaction mode will be switched automatically in order to produce the smallest possible symbol.

See also:
BCGet_MPDF417_Mode() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode Encoding mode.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_MPDF417_Version ( t_BarCode * pBarCode,
e_MPDFVers eVersion )

Sets Micro PDF Version (symbol size). The MicroPDF Version adjusts the number of data-columns and data-rows of the symbol; therefore it specifies the size of the symbol. You can specify versions between 1x11 to 4x44 (horizontal data-columns x vertical data-rows). If not set explicitly, TBarCode generates the smallest possible symbol by analyzing the input data and choosing the suitable version automatically.

See also:
BCGet_MPDF417_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_MQR_Mask ( t_BarCode * pBarCode,
e_MQRMask eMask )

Sets Micro QR-Code mask pattern (0-7). Specifies the so-called "mask" that is applied to the Micro QR-Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is time consuming - if the encoding process must be optimized set a predefined mask.

See also:
BCGet_MQR_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_MQR_Version ( t_BarCode * pBarCode,
e_MQRVersion eVersion )

Specifies the symbol version (the symbol size). Specifies the size of the symbol. Micro QR-code supports a number of different symbol sizes - these sizes are called "versions" (see e_MQRVersion). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.

See also:
BCGet_MQR_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_Append ( t_BarCode * pBarCode,
LONG nSum,
LONG nIndex )

Activates MaxiCode "Structured Append" feature. MaxiCode allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information that enables the reading device to reconstruct the data of all symbols in the correct order.
these functions sets the total number of symbols and the index of the actual MaxiCode symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once. \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Total number of symbols [2..8]. \param[in] nIndex Index of current symbol [1..8].

See also:
BCGet_Maxi_Append()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_Mode ( t_BarCode * pBarCode,
LONG nMode )

Specifies the operating mode for encoding data. Specifies the operating mode for encoding data. Default is Mode 4. \param[in] pBarCode Pointer to barcode structure. \param[in] nMode Used encoding mode [2..5] - Mode 2: SCM Numeric - Structured Carrier Message (Postal Code only numeric, up to 9 digits) - Mode 3: SCM Alphanumeric - Structured Carrier Message (Postal Code alphanumeric, up to 6 characters) - Mode 4: For numeric and alphanumeric character sequences (Standard Error Correction). This is the default - Mode 5: Full EEC - like Mode 4, but with Enhanced Error Correction (safer, but less usable data)

See also:
BCGet_Maxi_Mode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_SCMA ( t_BarCode * pBarCode,
LPCSTR szServiceClass,
LPCSTR szCountryCode,
LPCSTR szPostalCode )

Set MaxiCode structured carrier message (SCM). For a detailed description refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] szServiceClass Service class ["000"..."999"]. Specify the Service Class. Used in the modes 2 and 3 (SCM). \param[in] szCountryCode Country Code ["000"..."999"]. Used in the modes 2 and 3 (SCM). \param[in] szPostalCode The Postal Code - used in the modes 2 and 3 (SCM - " Structured Carrier Message"). String with altogether 9 digits (or other characters), depends on MAXI_Mode.

See also:
BCGet_Maxi_SCMServClass(), BCGet_Maxi_SCMCountryCode(), BCGet_Maxi_SCMPostalCode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_SCMW ( t_BarCode * pBarCode,
LPCWSTR szServiceClass,
LPCWSTR szCountryCode,
LPCWSTR szPostalCode )

Set MaxiCode structured carrier message (SCM). For a detailed description refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] szServiceClass Service class ["000"..."999"]. Specify the Service Class. Used in the modes 2 and 3 (SCM). \param[in] szCountryCode Country Code ["000"..."999"]. Used in the modes 2 and 3 (SCM). \param[in] szPostalCode The Postal Code - used in the modes 2 and 3 (SCM - " Structured Carrier Message"). String with altogether 9 digits (or other characters), depends on MAXI_Mode.

See also:
BCGet_Maxi_SCMServClass(), BCGet_Maxi_SCMCountryCode(), BCGet_Maxi_SCMPostalCode()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_UnderCut ( t_BarCode * pBarCode,
LONG nUndercut )

Specifies the undercut value of MaxiCode. This value influences the diameter of the barcode items (which are small hexagons in case of MaxiCode). Modify this value, if reading problems with the used output medium occur.

Note:
Default value: -1 (75% undercut) \param[in] pBarCode Pointer to barcode structure. \param[in] nUndercut Undercut in percent [1..100].
See also:
BCGet_Maxi_UnderCut()
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_UsePreambleA ( t_BarCode * pBarCode,
BOOL bUse,
LPCSTR szDate )

Activates the usage of the "Preamble" in MaxiCode. Specifies whether preamble functionality ("[)>..." will be encoded in the symbol header) should be activated. This is relevant in particular Open System Standards only. Refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] bUse Use preamble ("[)>..."). - true: Activate preamble - false: Preamble is not used \param[in] szDate Specifies the value for the year ["00"..."99"] (the last two digits - the century - are used). This date will be inserted automatically into the data stream on a predefined place (before the encoded data). The parameter bUse must be set to true!

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGet_Maxi_UsePreamble() ----------------------------------------------------------------------------.

ERRCODE BCSet_Maxi_UsePreambleW ( t_BarCode * pBarCode,
BOOL bUse,
LPCWSTR szDate )

Activates the usage of the "Preamble" in MaxiCode. Specifies whether preamble functionality ("[)>..." will be encoded in the symbol header) should be activated. This is relevant in particular Open System Standards only. Refer to the additional document Barcode Reference (chapter setting SCM parameters). \param[in] pBarCode Pointer to barcode structure. \param[in] bUse Use preamble ("[)>..."). - true: Activate preamble - false: Preamble is not used \param[in] szDate Specifies the value for the year ["00"..."99"] (the last two digits - the century - are used). This date will be inserted automatically into the data stream on a predefined place (before the encoded data). The parameter bUse must be set to true!

Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred.
See also:
BCGet_Maxi_UsePreamble() ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_AddresseeA ( t_BarCode * pBarCode,
LPCSTR szAddressee )

Sets Macro PDF417 Addressee (optional). Specifies addressee (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure. \param[in] szAddressee ///< IN : Addressee (reset to default = null)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_AddresseeW ( t_BarCode * pBarCode,
LPCWSTR szAddressee )

Sets Macro PDF417 Addressee (optional). Specifies addressee (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCSet_PDF417_Adressee() \param[in] pBarCode Pointer to barcode structure. \param[in] szAddressee ///< IN : Addressee (reset to default = null)
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_CheckSum ( t_BarCode * pBarCode,
LONG nCheckSum )

Sets Macro PDF417 Check Sum (optional). Sets 16-Bit CRC checksum (using CCITT-16 polynomial x16 + x12 + x5 + 1 over the entire data)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_CheckSum() \param[in] pBarCode Pointer to barcode structure. \param[in] nCheckSum Check sum (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_Columns ( t_BarCode * pBarCode,
LONG nColumns )

Sets the number of PDF417 columns. Sets the number of graphic columns [1...30] for PDF417 to a fixed value. If not set, the number of columns is calculated automatically by TBarCode (this is the default).

See also:
BCGet_PDF417_Columns() \param[in] pBarCode Pointer to barcode structure. \param[in] nColumns Number of columns [1..30] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_ECLevel ( t_BarCode * pBarCode,
LONG nLevel )

Sets PDF417 error correction level. Set the "Error Correction Level" for PDF417 to a fixed value. Possible values are [0...8] where 0 means only error recognition (no EC) and 8 means the highest level of EC. If not set, the error correction level is chosen automatically by TBarCode.

See also:
BCGet_PDF417_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] nLevel Error correction level [0..8] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_EncodingMode ( t_BarCode * pBarCode,
e_PDFMode eMode )

Sets PDF417 encoding mode. Sets the PFD417 encoding mode. If the mode is set to default the generation algorithm tries to find an optimum encoding. If binary data is encoded, binary encoding is most of the time the better choice.

See also:
BCGet_PDF417_EncodationMode() \param[in] pBarCode Pointer to barcode structure. \param[in] eMode encoding mode. Can be default or binary.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_FileIDA ( t_BarCode * pBarCode,
LPCSTR szFileID )

Sets Macro PDF417 FileID. The File-ID identifies all symbols, which belong to the same data chain. For reassembling, all data blocks having the same File-ID are concatenated in the order of increasing segment index.
Macro PDF will be enabled only if the Segment-index and the File-ID are set. Default: MacroPDF is disabled.

See also:
BCGet_PDF417_FileID() BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileID File ID string (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_FileIDW ( t_BarCode * pBarCode,
LPCWSTR szFileID )

Sets Macro PDF417 FileID. The File-ID identifies all symbols, which belong to the same data chain. For reassembling, all data blocks having the same File-ID are concatenated in the order of increasing segment index.
Macro PDF will be enabled only if the Segment-index and the File-ID are set. Default: MacroPDF is disabled.

See also:
BCGet_PDF417_FileID() BCSet_PDF417_SegIndex() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileID File ID string (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_FileNameA ( t_BarCode * pBarCode,
LPCSTR szFileName )

Sets Macro PDF417 File Name (optional). Specifies file name (alphanumeric, variable length)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileName File name (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_FileNameW ( t_BarCode * pBarCode,
LPCWSTR szFileName )

Sets Macro PDF417 File Name (optional). Specifies file name (alphanumeric, variable length)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_FileName() \param[in] pBarCode Pointer to barcode structure. \param[in] szFileName File name (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_FileSize ( t_BarCode * pBarCode,
LONG nFileSize )

Sets Macro PDF417 File Size (optional). Specifies total number of Bytes encoded (numeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_FileSize() \param[in] pBarCode Pointer to barcode structure. \param[in] nFileSize File Size (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_RowColRatioA ( t_BarCode * pBarCode,
LPCSTR szRatio )

Sets PDF417 row to column ratio to a fixed value. Sets the ratio between PDF417-rows and PDF417-columns. Does only work, if neither the value of PDF417-rows (BCSet_PDF417_Rows()) nor PDF417-columns (BCSet_PDF417_Columns()) are set to a constant value. If not set, the row:column ratio is chosen automatically by TBarCode (default).

See also:
BCGet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Ratio-string "rows:columns" in the form "3:5" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_RowColRatioW ( t_BarCode * pBarCode,
LPCWSTR szRatio )

Sets PDF417 row to column ratio to a fixed value. Sets the ratio between PDF417-rows and PDF417-columns. Does only work, if neither the value of PDF417-rows (BCSet_PDF417_Rows()) nor PDF417-columns (BCSet_PDF417_Columns()) are set to a constant value. If not set, the row:column ratio is chosen automatically by TBarCode (default).

See also:
BCGet_PDF417_RowColRatio() \param[in] pBarCode Pointer to barcode structure. \param[in] szRatio Ratio-string "rows:columns" in the form "3:5" (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_RowHeight ( t_BarCode * pBarCode,
LONG nHeight )

Sets PDF417 row height to a fixed value. Sets the height of a PDF417 row tow a fixed value [1/1000 mm]. If not set, the height is calculated automatically by TBarCode with respect to the bounding rectangle passed to BCDraw (..).

Note:
If set, ensure that the bounding rectangle is big enough to avoid clipping.
See also:
BCGet_PDF417_RowHeight() \param[in] pBarCode Pointer to barcode structure. \param[in] nHeight Row height [1/1000 mm] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_Rows ( t_BarCode * pBarCode,
LONG nRows )

Sets number of PDF417 rows. Sets the number of graphic rows for PDF417 to a fixed value. If not set, the number of rows is calculated automatically by TBarCode (this is the default).

See also:
BCGet_PDF417_Rows() \param[in] pBarCode Pointer to barcode structure. \param[in] nRows Number of rows [3..90] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_SegCount ( t_BarCode * pBarCode,
LONG nSegCount )

Sets Macro PDF417 segment count (optional). Specifies total number of bar codes in the symbol chain (numeric).
Optional field to be encoded into the Macro PDF control header block. Some applications require this field to be set (instead or in combination with the last segment marker).

See also:
BCGet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegCount Segment count [1...99999] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_SegIndex ( t_BarCode * pBarCode,
LONG nSegInx )

Sets Macro-PDF417 segment index. Index of the actual data segment in the symbol chain. Begin with 1 and increase for each additional symbol in the data chain.
Macro PDF will be enabled only if the Segment index and the File ID are set. Default: Macro PDF is disabled.
PDF417 allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry.
The so called "Macro PDF Control Block" carries additional control information that enables the reading device to reconstruct the data of all symbols in the correct order Macro PDF functionality is also available for MicroPDF417.

Note:
When reading the encoded data with a bar code scanner, the index may be zero-based.
See also:
BCGet_PDF417_SegIndex() BCSet_PDF417_FileID() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegInx Segment index [1...99999] (reset to default/disable = -1).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_SegLast ( t_BarCode * pBarCode,
BOOL bSegLast )

Marks the actual symbol as the last one within the Macro PDF417 symbol chain. Marks the current symbol as the last one within the actual symbol chain. This feature is used when generating Macro PDF417. Some applications require the segment count to be set for identifying the last bar code in the symbol chain.

See also:
BCGet_PDF417_SegLast() BCSet_PDF417_SegCount() \param[in] pBarCode Pointer to barcode structure. \param[in] bSegLast Is last segment.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_SenderA ( t_BarCode * pBarCode,
LPCSTR szSender )

Sets Macro PDF417 Sender (optional). Specifies sender (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure. \param[in] szSender Sender (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_SenderW ( t_BarCode * pBarCode,
LPCWSTR szSender )

Sets Macro PDF417 Sender (optional). Specifies sender (alphanumeric, variable length field)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCGet_PDF417_Sender() \param[in] pBarCode Pointer to barcode structure. \param[in] szSender Sender (reset to default = null).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_PDF417_TimeStamp ( t_BarCode * pBarCode,
LONG nTimeStamp )

Sets Macro PDF417 Time Stamp (optional). Specifies time stamp (elapsed time in seconds since January 1, 1970 00:00 GMT) (numeric)
Optional field to be encoded into the Macro PDF control header block. Default: unused.

See also:
BCSet_PDF417_TimeStamp() \param[in] pBarCode Pointer to barcode structure. \param[in] nTimeStamp Time stamp (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_Append ( t_BarCode * pBarCode,
LONG nSum,
LONG nIndex,
BYTE bParity )

Activates QR-Code "Structured Append" feature. QR-Code allows user data to be spread across several symbols. This might be done if the data is too large to fit into a single symbol or for reasons of appearance and geometry. The so called "Structured Append" mode encodes additional control information to enable the reading device to reconstruct the data of all symbols in the correct order. Default: Structured Append is disabled.
This function enables Structured Append and sets the total number of symbols and the index of the actual QR-Code symbol within the symbol chain. Depending on this index, the data will be reconstructed by the scanner during the reading process. The scanner returns the data of all symbols in the correct order at once.
All symbols within a symbol chain must be identified by a Parity. This parity is computed with BCCalcStructApp_Parity().

See also:
BCGet_QR_AppendSum(), BCGet_QR_AppendIndex(), BCGet_QR_AppendParity() \param[in] pBarCode Pointer to barcode structure. \param[in] nSum Total number of symbols [2..16] (reset to default/disable = -1). \param[in] nIndex Index of current symbol [1..16]. \param[in] bParity Parity byte (must be the same in all symbols).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_ECLevel ( t_BarCode * pBarCode,
e_QRECLevel eECLevel )

Sets QR-Code error correction level (ECL). Sets QR-Code error correction level (ECL). If not set, TBarCode uses medium error correction level per default.

See also:
BCGet_QR_ECLevel() \param[in] pBarCode Pointer to barcode structure. \param[in] eECLevel Error correction level.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_FmtAppIndicatorA ( t_BarCode * pBarCode,
LPCSTR szIndicator )

Set QR-Code format Application Indicator (used with Industry format). Is used only in connection with Industry-Format. The Application Indicator determines, to which industry format the input stream corresponds.

See also:
BCGet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure. \param[in] szIndicator Format application indicator ["0"..."99"] or [a-z, A-Z].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_FmtAppIndicatorW ( t_BarCode * pBarCode,
LPCWSTR szIndicator )

Set QR-Code format Application Indicator (used with Industry format). Is used only in connection with Industry-Format. The Application Indicator determines, to which industry format the input stream corresponds.

See also:
BCGet_QR_FmtAppIndicator() \param[in] pBarCode Pointer to barcode structure. \param[in] szIndicator Format application indicator ["0"..."99"] or [a-z, A-Z].
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_Format ( t_BarCode * pBarCode,
e_QRFormat eFormat )

Specifies QR-Code encoding format. Specifies the generated code format. Per default TBarCode uses the default encoding scheme without a special header.

See also:
BCGet_QR_Format() \param[in] pBarCode Pointer to barcode structure. \param[in] eFormat eFormat QR-Code format.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_KanjiChineseCompaction ( t_BarCode * pBarCode,
e_QRMBCompaction eCompaction )

Enables QR-Code "Compact Kanji" or "Compact Chinese" option. Enables the compaction of Kanji or Simplified Chinese characters into 13-bit values. The characters must be passed on as Unicode (wide string functions) in combination with code page set to Shift JIS or Simplified Chinese. If you use encoding mode Low Byte, the Kanji-characters must be supplied in Shift JIS X 0208 and the Chinese characters in GB2312 (Simplified Chinese) multi byte character set. Compaction of Kanji characters is done according to ISO/IEC 18004 (and AIM ITS/97-001); Compaction of Chinese characters is done according to GB/T 18284-2000.

See also:
BCGet_QR_KanjiChineseCompaction() (), BCSetTextW(), BCSetCodePage()
Note:
Do not use this option for pure binary data or ASCII characters. Take care with QR-Code 2005, which has a different default encoding. \param[in] pBarCode Pointer to bar-code structure. \param[in] eCompaction Compact Kanji or Chinese option. - eQRMBCompactionDefault: compact Kanji characters if Codepage = Japanese Shift JIS - eQRMBCompactionNone: do not compact Multi Byte character sets - eQRMBCompactionKanji: Kanji characters (Shift JIS X 0208) should be compacted - eQRMBCompactionChinese: Chinese characters (GB2312) should be compacted
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_Mask ( t_BarCode * pBarCode,
e_QRMask eMask )

Sets QR-Code mask pattern (0-7). Specifies the so-called "mask" that is applied to the QR-Code to achieve the highest possible readability. TBarCode computes the optimal mask automatically. This is very time consuming - if the encoding process must be optimized set a predefined mask.

See also:
BCGet_QR_Mask() \param[in] pBarCode Pointer to barcode structure. \param[in] eMask Mask pattern.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_QR_Version ( t_BarCode * pBarCode,
e_QRVersion eVersion )

Specifies the symbol version (the symbol size). Specifies the size of the symbol. QR-Code supports a number of different symbol sizes - these sizes are called "versions" (see e_QRVersion). If no fixed size is selected TBarCode computes the minimal required size of the symbol automatically.

See also:
BCGet_QR_Version() \param[in] pBarCode Pointer to barcode structure. \param[in] eVersion Symbol version (size).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

ERRCODE BCSet_RSS_SegmPerRow ( t_BarCode * pBarCode,
LONG nSegmPerRow )

Sets data segments per Row (GS1 DataBar/RSS Expanded Stacked only) to a fixed value. The value of nSegmPerRow specifies how many data words (segments) are encoded in one data row of the symbol. Values in the range from 2 to 22 are allowed. Data words are encoded in pairs, so only even numbers are valid. Wrong values are auto-corrected by TBarCode. If this value is not set (default), the number of data segments per row is 4.

See also:
BCGet_RSS_SegmPerRow() \param[in] pBarCode Pointer to barcode structure. \param[in] nSegmPerRow Number of segments per row [2..22] (-1 ... reset to default).
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.

BOOL BC_DM_IsAppendAllowed ( e_DMFormat eFormat )

Returns if structured append is allowed depending on given format. Returns: TRUE if append is allowed, otherwise FALSE.

typedef ERRCODE ( TEC_CALLBACK * fn_DrawHexagon )

Callback-function which is called instead of drawing a barcode row.

This callback function can be set with BCSetFuncDrawRow(). When set the drawing functions such as BCDraw(), BCPostscriptToFile, BCPCLToFile() etc. do not generate any output. Instead they call the active callback function.
When Windows-GDI drawing is started (with BCDraw()) then drawDC, targetDC contain the Windows device contexts (if set).
The parameters x, y, width, and height specify the extent of the barcode row. If drawDC and targetDC are not set then these variables are given in millimeters, where the origin of the coordinate system is the upper, left coordinate of the barcode. The positive X-axis points to the right and the positive Y-axis points downwards.
If drawDC or targetDC are set then the parameters x, y, width, and height use the current logical coordinate system and the logical units of these device contexts.
In your callback function you can use BCGetMetaData() to query the bars and spaces of the current row.

Note:
A barcode row in this case is a single row of bars. Linear (1-dimensional) barcodes have exactly one row of bars. 2-dimensional barcodes can have more than one row of bars: In this case this callback function is called once for each row.
The user-defined data (customData) is shared by all callback functions.
The TBarCode Callback functions can be used only with a developer license. Sample code is available on request: support@tec-it.com \param[in,out] customData User-defined data. \param[in,out] barcode The handle of the barcode. \param[in,out] drawDC The device context. \param[in,out] targetDC The target device context. \param[in] x The left coordinate of the row. \param[in] y The top coordinate of the row. \param[in] width The width of the row. \param[in] height The height of the row.
Return values:
ErrOk   Everything went fine, and the drawing continues.
=ErrOk   Something went wrong, the drawing function returns with the returned error value.
See also:
BCGetFuncDrawRow(), BCSetFuncDrawRow(), BCDrawCB(), BCGetMetaData()

ERRCODE _BCInitLibraryT ( LPCTSTR szPath )

Initializes TBarCode Library (UNIX and Windows CE only). Must be called after loading TBarCode library and before calling any other functions from TBarCode.

Note:
UNIX only. \param[in] szPath Directory in which the TBarCode license files are to be searched.
TBarCode Library can be licensed per application using BCLicenseMe() or globally on a system. To license TBarCode globally a valid license file named 'license.ini' must be placed in the path specified with szPath.
The default location for 'license.ini' is '/usr/local/share/tbarcode11'.
Return values:
ERRCODE   ErrOk (0) in case of success. Non-zero if error occurred. ----------------------------------------------------------------------------.


© 2019 All rights reserved by TEC-IT Datenverarbeitung GmbH
Generated on Sat Jul 13 03:16:07 2019 for TBarCode Library 11 with doxygen 1.1.5