You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
// Copyright 2014 PDFium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
|
#ifndef FXBARCODE_DATAMATRIX_BC_SYMBOLINFO_H_
|
|
#define FXBARCODE_DATAMATRIX_BC_SYMBOLINFO_H_
|
|
|
|
#include "core/fxcrt/fx_string.h"
|
|
#include "core/fxcrt/fx_system.h"
|
|
|
|
class CBC_SymbolInfo {
|
|
public:
|
|
CBC_SymbolInfo(size_t dataCapacity,
|
|
size_t errorCodewords,
|
|
int32_t matrixWidth,
|
|
int32_t matrixHeight,
|
|
int32_t dataRegions);
|
|
virtual ~CBC_SymbolInfo();
|
|
|
|
static void Initialize();
|
|
static void Finalize();
|
|
static void overrideSymbolSet(CBC_SymbolInfo* override);
|
|
static const CBC_SymbolInfo* Lookup(size_t iDataCodewords,
|
|
bool bAllowRectangular);
|
|
|
|
int32_t getSymbolDataWidth() const;
|
|
int32_t getSymbolDataHeight() const;
|
|
int32_t getSymbolWidth() const;
|
|
int32_t getSymbolHeight() const;
|
|
size_t getCodewordCount() const;
|
|
virtual size_t getInterleavedBlockCount() const;
|
|
size_t getDataLengthForInterleavedBlock() const;
|
|
size_t getErrorLengthForInterleavedBlock() const;
|
|
|
|
size_t dataCapacity() const { return m_dataCapacity; }
|
|
size_t errorCodewords() const { return m_errorCodewords; }
|
|
int32_t matrixWidth() const { return m_matrixWidth; }
|
|
int32_t matrixHeight() const { return m_matrixHeight; }
|
|
|
|
protected:
|
|
CBC_SymbolInfo(size_t dataCapacity,
|
|
size_t errorCodewords,
|
|
int32_t matrixWidth,
|
|
int32_t matrixHeight,
|
|
int32_t dataRegions,
|
|
size_t rsBlockData,
|
|
size_t rsBlockError);
|
|
|
|
private:
|
|
int32_t getHorizontalDataRegions() const;
|
|
int32_t getVerticalDataRegions() const;
|
|
|
|
const bool m_rectangular;
|
|
const size_t m_dataCapacity;
|
|
const size_t m_errorCodewords;
|
|
const int32_t m_matrixWidth;
|
|
const int32_t m_matrixHeight;
|
|
const int32_t m_dataRegions;
|
|
const size_t m_rsBlockData;
|
|
const size_t m_rsBlockError;
|
|
};
|
|
|
|
#endif // FXBARCODE_DATAMATRIX_BC_SYMBOLINFO_H_
|