NDSummary.OnToolTipsLoaded("File:tool/qrcode.h",{371:"
The error correction level in a QR Code symbol.  enum QRCODE_ECC { // Must be declared in ascending order of error protection // so that an internal qrcodegen function works properly QRCODE_ECC_LOW = 0 ,  // The QR Code can tolerate about  7% erroneous codewords QRCODE_ECC_MEDIUM  ,  // The QR Code can tolerate about 15% erroneous codewords QRCODE_ECC_QUARTILE,  // The QR Code can tolerate about 25% erroneous codewords QRCODE_ECC_HIGH  ,  // The QR Code can tolerate about 30% erroneous codewords // QRCODE_ECC_MAX, };
",372:"
The mask pattern used in a QR Code symbol.  enum QRCODE_MASK { // A special value to tell the QR Code encoder to // automatically select an appropriate mask pattern QRCODE_MASK_AUTO = -1, // The eight actual mask patterns QRCODE_MASK_0 = 0, // (i + j) % 2 = 0 QRCODE_MASK_1,  // i % 2 = 0 QRCODE_MASK_2,  // j % 3 = 0 QRCODE_MASK_3,  // (i + j) % 3 = 0 QRCODE_MASK_4,  // (i / 2 + j / 3) % 2 = 0 QRCODE_MASK_5,  // (i * j) % 2 + (i * j) % 3 = 0 QRCODE_MASK_6,  // ((i * j) % 3 + i * j) % 2 = 0 QRCODE_MASK_7,  // ((i * j) % 3 + i + j) % 2 = 0 // QRCODE_MASK_MAX, };
",373:"
Describes how a segment\'s data bits are interpreted.
",375:"
Calculates the number of bytes needed to store any QR Code up to and including the given version number, as a compile-time constant. For example, \'u8 buffer[QRCODE_BUFFER_LEN_FOR_VERSION(25)];\' can store any single QR Code from version 1 to 25 (inclusive). The result fits in an i16 (or int16).  Requires QRCODE_VERSION_MIN <= n <= QRCODE_VERSION_MAX.
",376:"
The worst-case number of bytes needed to store one QR Code, up to and including version 40. This value equals 3918, which is just under 4 kilobytes.  Use this more convenient value to avoid calculating tighter memory bounds for buffers.
",378:"
bool QRCode_EncodeText(
const char *text,
u8 tempBuffer[],
u8 qrcode[],
enum QRCODE_ECC ecl,
enum QRCODE_MASK mask
)
Encodes the given text string to a QR Code, returning TRUE if successful.  If the data is too long to fit in any version in the given range at the given ECC level, then FALSE is returned.
",379:"
bool QRCode_EncodeBinary(
u8 dataAndTemp[],
u16 dataLen,
u8 qrcode[],
enum QRCODE_ECC ecl,
enum QRCODE_MASK mask
)
Encodes the given binary data to a QR Code, returning TRUE if successful.  If the data is too long to fit in any version in the given range at the given ECC level, then FALSE is returned.
",380:"
bool QRCode_EncodeSegments(
const QRCode_Segment segs[],
u16 len,
enum QRCODE_ECC ecl,
u8 tempBuffer[],
u8 qrcode[]
)
Encodes the given segments to a QR Code, returning TRUE if successful.  If the data is too long to fit in any version at the given ECC level, then FALSE is returned.
",381:"
bool QRCode_EncodeSegmentsAdvanced(
const QRCode_Segment segs[],
u16 len,
enum QRCODE_ECC ecl,
enum QRCODE_MASK mask,
u8 tempBuffer[],
u8 qrcode[]
)
Encodes the given segments to a QR Code, returning TRUE if successful.  If the data is too long to fit in any version in the given range at the given ECC level, then FALSE is returned.
",382:"
bool QRCode_IsNumeric(
const char *text
)
Tests whether the given string can be encoded as a segment in numeric mode.  A string is encodable iff each character is in the range 0 to 9.
",383:"
bool QRCode_IsAlphanumeric(
const char *text
)
Tests whether the given string can be encoded as a segment in alphanumeric mode.  A string is encodable iff each character is in the following set: 0 to 9, A to Z (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
",384:"
u16 QRCode_CalcSegmentBufferSize(
enum QRCODE_MODE mode,
u16 numChars
)
Returns the number of bytes (u8) needed for the data buffer of a segment containing the given number of characters using the given mode. Notes: - Returns SIZE_MAX on failure, i.e. numChars > INT16_MAX or the internal calculation of the number of needed bits exceeds INT16_MAX (i.e. 32767).  - Otherwise, all valid results are in the range [0, ceil(INT16_MAX / 8)], i.e. at most 4096.  - It is okay for the user to allocate more bytes for the buffer than needed.  - For byte mode, numChars measures the number of bytes, not Unicode code points.  - For ECI mode, numChars must be 0, and the worst-case number of bytes is returned.  An actual ECI segment can have shorter data. For non-ECI modes, the result is exact.
",385:"
void QRCode_MakeBytes(
const u8 data[],
u16 len,
u8 buf[],
QRCode_Segment* seg
)
Returns a segment representing the given binary data encoded in byte mode. All input byte arrays are acceptable. Any text string can be converted to UTF-8 bytes and encoded as a byte mode segment.
",386:"
void QRCode_MakeNumeric(
const char *digits,
u8 buf[],
QRCode_Segment* seg
)
Returns a segment representing the given string of decimal digits encoded in numeric mode.
",387:"
void QRCode_MakeAlphanumeric(
const char *text,
u8 buf[],
QRCode_Segment* seg
)
Returns a segment representing the given text string encoded in alphanumeric mode.  The characters allowed are: 0 to 9, A to Z (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
",388:"
void QRCode_MakeECI(
i32 assignVal,
u8 buf[],
QRCode_Segment* seg
)
Returns a segment representing an Extended Channel Interpretation (ECI) designator with the given assignment value.
",389:"
u8 QRCode_GetSize(
const u8 qrcode[]
)
Returns the side length of the given QR Code, assuming that encoding succeeded.  The result is in the range [21, 177]. Note that the length of the array buffer is related to the side length - every \'u8 qrcode[]\' must have length at least QRCODE_BUFFER_LEN_FOR_VERSION(version), which equals ceil(size^2 / 8 + 1).
",390:"
bool QRCode_GetModule(
const u8 qrcode[],
u8 x,
u8 y
)
Returns the color of the module (pixel) at the given coordinates, which is FALSE for light or TRUE for dark.  The top left corner has the coordinates (x=0, y=0).  Coordinates must be in bounds.
",391:"
u8 QRCode_GetByte(
const u8 qrcode[],
u8 x,
u8 y
)
Returns colors of 8 module (byte) at the given coordinates, which is 0 for light or 1 for dark.  The top left corner has the coordinates (x=0, y=0).
",392:"
inline u8 QRCode_GetVersion(
const u8 qrcode[]
)
",393:"
inline void QRCode_SetVersion(
u8 min,
u8 max
)
Set minimum and maximum version to use for the next encoding.  Must be called before QRCode_Encode* functions.
",394:"
inline void QRCode_SetBoostECL(
bool boost
)
Set ECC level boost option.
"});