From 820fa54de002282d3c63310352ddcd1256eff2d2 Mon Sep 17 00:00:00 2001 From: favoritas37 Date: Sun, 14 Jun 2015 20:48:22 +0300 Subject: [PATCH] completed the first version of EncodeHint --- source/zxing/zxing/EncodeHint.cpp | 8 ++++ source/zxing/zxing/EncodeHint.h | 66 ++++++++++--------------------- 2 files changed, 28 insertions(+), 46 deletions(-) diff --git a/source/zxing/zxing/EncodeHint.cpp b/source/zxing/zxing/EncodeHint.cpp index 8b13789..c358f71 100644 --- a/source/zxing/zxing/EncodeHint.cpp +++ b/source/zxing/zxing/EncodeHint.cpp @@ -1 +1,9 @@ +#include "EncodeHint.h" +namespace zxing { + +EncodeHint::EncodeHint() : + errorCorrectionLevel_(NULL), characterSet_(""), margin_(0) +{} + +} diff --git a/source/zxing/zxing/EncodeHint.h b/source/zxing/zxing/EncodeHint.h index 49b35f0..4112ffa 100644 --- a/source/zxing/zxing/EncodeHint.h +++ b/source/zxing/zxing/EncodeHint.h @@ -1,70 +1,44 @@ #ifndef ENCODEHINTTYPE_H #define ENCODEHINTTYPE_H +#include +#include + namespace zxing { -enum class EncodeHintType { - - /** +class EncodeHint +{ +private: + /** * Specifies what degree of error correction to use, for example in QR Codes. * Type depends on the encoder. For example for QR codes it's type * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}. - * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words. + * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words. * Note: an Aztec symbol should have a minimum of 25% EC words. */ - ERROR_CORRECTION, + zxing::qrcode::ErrorCorrectionLevel* errorCorrectionLevel_; - /** + /** * Specifies what character encoding to use where applicable (type {@link String}) */ - CHARACTER_SET, + std::string characterSet_; - /** - * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint}) - */ - DATA_MATRIX_SHAPE, - - /** - * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now. - */ - MIN_SIZE, - - /** - * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now. - */ - MAX_SIZE, - - /** + /** * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary * by format; for example it controls margin before and after the barcode horizontally for * most 1D formats. (Type {@link Integer}). */ - MARGIN, + int margin_; - /** - * Specifies whether to use compact mode for PDF417 (type {@link Boolean}). - */ - PDF417_COMPACT, +public: + EncodeHint(); - /** - * Specifies what compaction mode to use for PDF417 (type - * {@link com.google.zxing.pdf417.encoder.Compaction Compaction}). - */ - PDF417_COMPACTION, + const std::string getCharacterSet() const { return characterSet_; } + const zxing::qrcode::ErrorCorrectionLevel* getErrorCorrectionLevel() { return errorCorrectionLevel_; } - /** - * Specifies the minimum and maximum number of rows and columns for PDF417 (type - * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}). - */ - PDF417_DIMENSIONS, - - /** - * Specifies the required number of layers for an Aztec code: - * a negative number (-1, -2, -3, -4) specifies a compact Aztec code - * 0 indicates to use the minimum number of layers (the default) - * a positive number (1, 2, .. 32) specifies a normaol (non-compact) Aztec code - */ - AZTEC_LAYERS, + void setCharacterSet(const std::string& characterSet) { characterSet_ = characterSet; } + void setErrorCorrectionLevel(zxing::qrcode::ErrorCorrectionLevel* errorCorectionLevel) + { errorCorrectionLevel_ = errorCorectionLevel; } }; }