#include "fxbarcode/pdf417/BC_PDF417.h"
#include <math.h>
#include <array>
#include "fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h"
#include "fxbarcode/pdf417/BC_PDF417BarcodeRow.h"
#include "fxbarcode/pdf417/BC_PDF417ErrorCorrection.h"
#include "fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h"
namespace {
constexpr int kCodewordRowLength = …;
CodewordRow;
constexpr std::array<const CodewordRow, 3> kCodewordTable = …;
int32_t Get17BitCodeword(int i, int j) { … }
}
CBC_PDF417::CBC_PDF417() = default;
CBC_PDF417::~CBC_PDF417() = default;
CBC_BarcodeMatrix* CBC_PDF417::getBarcodeMatrix() { … }
bool CBC_PDF417::GenerateBarcodeLogic(WideStringView msg,
int32_t errorCorrectionLevel) { … }
void CBC_PDF417::setDimensions(int32_t maxCols,
int32_t minCols,
int32_t maxRows,
int32_t minRows) { … }
int32_t CBC_PDF417::calculateNumberOfRows(int32_t m, int32_t k, int32_t c) { … }
int32_t CBC_PDF417::getNumberOfPadCodewords(int32_t m,
int32_t k,
int32_t c,
int32_t r) { … }
void CBC_PDF417::encodeChar(int32_t pattern,
int32_t len,
CBC_BarcodeRow* logic) { … }
void CBC_PDF417::encodeLowLevel(WideString fullCodewords,
int32_t c,
int32_t r,
int32_t errorCorrectionLevel,
CBC_BarcodeMatrix* logic) { … }
std::vector<int32_t> CBC_PDF417::determineDimensions(
size_t sourceCodeWords,
int32_t errorCorrectionCodeWords) const { … }