diff options
Diffstat (limited to 'xfa/src/fxbarcode/utils.h')
-rw-r--r-- | xfa/src/fxbarcode/utils.h | 432 |
1 files changed, 216 insertions, 216 deletions
diff --git a/xfa/src/fxbarcode/utils.h b/xfa/src/fxbarcode/utils.h index 405f2f1677..49aa539270 100644 --- a/xfa/src/fxbarcode/utils.h +++ b/xfa/src/fxbarcode/utils.h @@ -1,216 +1,216 @@ -// 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 _BC_UTILS_H_
-#define _BC_UTILS_H_
-typedef CFX_MapPtrTemplate<void*, int32_t> CFX_PtrToInt32;
-FX_BOOL BC_FX_ByteString_Replace(CFX_ByteString& dst,
- FX_DWORD first,
- FX_DWORD last,
- int32_t count,
- FX_CHAR c);
-void BC_FX_ByteString_Append(CFX_ByteString& dst, int32_t count, FX_CHAR c);
-void BC_FX_ByteString_Append(CFX_ByteString& dst, const CFX_ByteArray& ba);
-typedef FX_BOOL (*BC_PtrArrayCompareCallback)(void* l, void* r);
-void BC_FX_PtrArray_Sort(CFX_PtrArray& src, BC_PtrArrayCompareCallback fun);
-template <class _Ty>
-class CBC_AutoPtr {
- public:
- typedef _Ty element_type;
- explicit CBC_AutoPtr(_Ty* _P = 0) : _Owns(_P != 0), _Ptr(_P) {}
- CBC_AutoPtr(const CBC_AutoPtr<_Ty>& _Y)
- : _Owns(_Y._Owns), _Ptr(_Y.release()) {}
- CBC_AutoPtr<_Ty>& operator=(const CBC_AutoPtr<_Ty>& _Y) {
- if (this != &_Y) {
- if (_Ptr != _Y.get()) {
- if (_Owns) {
- delete _Ptr;
- }
- _Owns = _Y._Owns;
- } else if (_Y._Owns) {
- _Owns = TRUE;
- }
- _Ptr = _Y.release();
- }
- return (*this);
- }
- ~CBC_AutoPtr() {
- if (_Owns) {
- delete _Ptr;
- }
- }
- _Ty& operator*() const { return (*get()); }
- _Ty* operator->() const { return (get()); }
- _Ty* get() const { return (_Ptr); }
- _Ty* release() const {
- ((CBC_AutoPtr<_Ty>*)this)->_Owns = FALSE;
- return (_Ptr);
- }
-
- private:
- FX_BOOL _Owns;
- _Ty* _Ptr;
-};
-#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_)
-#include <limits>
-#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \
- _FX_OS_ == _FX_IOS_)
-#include <limits.h>
-#endif
-#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_)
-#define FXSYS_isnan(x) _isnan(x)
-#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_)
-#include <cmath>
-#define FXSYS_isnan(x) std::isnan(x)
-#elif(_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_ANDROID_)
-#include <math.h>
-#define FXSYS_isnan(x) isnan(x)
-#endif
-#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_)
-#define FXSYS_nan() (std::numeric_limits<float>::quiet_NaN())
-#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \
- _FX_OS_ == _FX_IOS_ || _FX_OS_ == _FX_ANDROID_)
-#define FXSYS_nan() NAN
-#endif
-enum BCFORMAT {
- BCFORMAT_UNSPECIFY = -1,
- BCFORMAT_CODABAR,
- BCFORMAT_CODE_39,
- BCFORMAT_CODE_128,
- BCFORMAT_CODE_128B,
- BCFORMAT_CODE_128C,
- BCFORMAT_EAN_8,
- BCFORMAT_UPC_A,
- BCFORMAT_EAN_13,
- BCFORMAT_PDF_417,
- BCFORMAT_DATAMATRIX,
- BCFORMAT_QR_CODE
-};
-#define BCFORMAT_ECLEVEL_L 0
-#define BCFORMAT_ECLEVEL_M 1
-#define BCFORMAT_ECLEVEL_Q 2
-#define BCFORMAT_ECLEVEL_H 3
-#include <ctype.h>
-#define FXSYS_IntMax INT_MAX
-#define FXSYS_Isdigit isdigit
-#define BCExceptionNO 0
-#define BCExceptionNotFound 1
-#define BCExceptionEndLessThanStart 2
-#define BCExceptionUnknownDecoder 3
-#define BCExceptionRotateNotSupported 4
-#define BCExceptionHeightAndWidthMustBeAtLeast1 5
-#define BCExceptionRegionMustFitInsideMatrix 6
-#define BCExceptionCanNotCallGetDimensionOnNonSquareMatrix 7
-#define BCExceptionFormatException 8
-#define BCExceptionIllegalArgumentMustMatchVersionSize 9
-#define BCExceptionChecksumException 10
-#define BCExceptionIllegalArgumentInvalidFirstDigit 11
-#define BCExceptionIllegalArgumentInvalidSecondDigit 12
-#define BCExceptionRuntimeDecodingInvalidISO_IEC 13
-#define BCExceptionRuntimeDecodingInvalidAlphanumeric 14
-#define BCExceptionLeftAndTopMustBeNonnegative 15
-#define BCExceptionIllegalArgument 16
-#define BCExceptionBadECI 17
-#define BCExceptionUnSupportedBarcode 18
-#define BCExceptionUnSupportedString 19
-#define BCExceptionDigitLengthMustBe8 20
-#define BCExceptionDataCheckException 21
-#define BCExceptionExtractNumberValueFromBitArray 22
-#define BCExceptionRead 23
-#define BCExceptionRequestedRowIsOutSizeTheImage 24
-#define BCExceptionNoContents 26
-#define BCExceptionUnSupportEclevel 27
-#define BCExceptionUnSupportMode 28
-#define BCExceptionReferenceMustBeBetween0And7 29
-#define BCExceptionBadErrorLocation 30
-#define BCExceptionDegreeIsNegative 31
-#define BCExceptionDivideByZero 32
-#define BCExceptionCoefficientsSizeIsNull 33
-#define BCExceptionNoCorrectionBytes 34
-#define BCExceptionNoDataBytesProvided 35
-#define BCExceptionR_I_1IsZero 36
-#define BCExceptionAIsZero 37
-#define BCExceptionIsZero 38
-#define BCExceptionDegreeNotMatchRoots 39
-#define BCExceptionContentsLengthShouldBetween1and80 40
-#define BCExceptionOnlyEncodeCODE_128 41
-#define BCExceptionOnlyEncodeCODE_39 42
-#define BCExceptionOnlyEncodeEAN_13 43
-#define BCExceptionOnlyEncodeEAN_8 44
-#define BCExceptionOnlyEncodeITF 45
-#define BCExceptionDigitLengthShould13 46
-#define BCExceptionDigitLengthMustBe6or8or10or12or14or16or20or24or44 47
-#define BCExceptionOnlyEncodeUPC_A 48
-#define BCExceptionDigitLengthShouldBe12 49
-#define BCExceptionValueMustBeEither0or1 50
-#define BCExceptionReedsolomnDecodeException 51
-#define BCExceptionBadIndexException 52
-#define BCExceptionBadValueException 53
-#define BCExceptionBadNumBitsException 54
-#define BCExceptioncanNotOperatexorOperator 55
-#define BCExceptionVersionMust1_40 56
-#define BCExceptionUnknown 57
-#define BCExceptionNoSuchVersion 58
-#define BCExceptionCannotFindBlockInfo 59
-#define BCExceptionDataTooBig 60
-#define BCExceptionInvalidQRCode 61
-#define BCExceptionDataTooMany 62
-#define BCExceptionBitsNotEqualCacity 63
-#define BCExceptionUnsupportedMode 64
-#define BCExceptionInvalidateCharacter 65
-#define BCExceptionBytesNotMatchOffset 66
-#define BCExceptionSizeInBytesDiffer 67
-#define BCExceptionInvalidateMaskPattern 68
-#define BCExceptionNullPointer 69
-#define BCExceptionBadMask 70
-#define BCExceptionBitSizeNot15 71
-#define BCExceptionBitSizeNot18 72
-#define BCExceptionInvalidateImageData 73
-#define BCExceptionHeight_8BeZero 74
-#define BCExceptionCharacterNotThisMode 75
-#define BCExceptionBitsBytesNotMatch 76
-#define BCExceptionInvalidateData 77
-#define BCExceptionLoadFile 78
-#define BCExceptionPDF417EncodeFail 79
-#define BCExceptionFailToCreateBitmap 80
-#define BCExceptionLoadFontFail 81
-#define BCExceptionOnlyEncodeCODEBAR 82
-#define BCExceptionCodabarShouldStartWithOneOfABCD 83
-#define BCExceptionCodabarShouldEndWithOneOfTNE 84
-#define BCExceptionCodabarEncodeCharsInvalid 85
-#define BCExceptionOnlyEncodeDATAMATRIX 86
-#define BCExceptionCharactersOutsideISO88591Encoding 87
-#define BCExceptionIllegalDataCodewords 88
-#define BCExceptionCannotHandleThisNumberOfDataRegions 89
-#define BCExceptionIllegalStateUnexpectedCase 90
-#define BCExceptionIllegalStateCountMustNotExceed4 91
-#define BCExceptionIllegalStateMessageLengthInvalid 92
-#define BCExceptionIllegalArgumentNotGigits 93
-#define BCExceptionIllegalStateIllegalMode 94
-#define BCExceptionOnlyEncodePDF417 95
-#define BCExceptionNonEncodableCharacterDetected 96
-#define BCExceptionErrorCorrectionLevelMustBeBetween0And8 97
-#define BCExceptionNoRecommendationPossible 98
-#define BCExceptionIllegalArgumentnMustBeAbove0 99
-#define BCExceptionUnableToFitMessageInColumns 100
-#define BCExceptionEncodedMessageContainsTooManyCodeWords 101
-#define BCExceptionBitmapSizeError 102
-#define BCExceptionFormatInstance 102
-#define BCExceptionChecksumInstance 103
-#define BCExceptiontNotFoundInstance 104
-#define BCExceptionNotFoundInstance 105
-#define BCExceptionCannotMetadata 106
-#define TWO_DIGIT_DATA_LENGTH_SIZE 24
-#define THREE_DIGIT_DATA_LENGTH_SIZE 23
-#define THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH_SIZE 57
-#define FOUR_DIGIT_DATA_LENGTH_SIZE 17
-#define BC_EXCEPTION_CHECK_ReturnVoid(e) \
- if (e != BCExceptionNO) \
- return;
-#define BC_EXCEPTION_CHECK_ReturnValue(e, v) \
- if (e != BCExceptionNO) \
- return v;
-#endif
+// 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 _BC_UTILS_H_ +#define _BC_UTILS_H_ +typedef CFX_MapPtrTemplate<void*, int32_t> CFX_PtrToInt32; +FX_BOOL BC_FX_ByteString_Replace(CFX_ByteString& dst, + FX_DWORD first, + FX_DWORD last, + int32_t count, + FX_CHAR c); +void BC_FX_ByteString_Append(CFX_ByteString& dst, int32_t count, FX_CHAR c); +void BC_FX_ByteString_Append(CFX_ByteString& dst, const CFX_ByteArray& ba); +typedef FX_BOOL (*BC_PtrArrayCompareCallback)(void* l, void* r); +void BC_FX_PtrArray_Sort(CFX_PtrArray& src, BC_PtrArrayCompareCallback fun); +template <class _Ty> +class CBC_AutoPtr { + public: + typedef _Ty element_type; + explicit CBC_AutoPtr(_Ty* _P = 0) : _Owns(_P != 0), _Ptr(_P) {} + CBC_AutoPtr(const CBC_AutoPtr<_Ty>& _Y) + : _Owns(_Y._Owns), _Ptr(_Y.release()) {} + CBC_AutoPtr<_Ty>& operator=(const CBC_AutoPtr<_Ty>& _Y) { + if (this != &_Y) { + if (_Ptr != _Y.get()) { + if (_Owns) { + delete _Ptr; + } + _Owns = _Y._Owns; + } else if (_Y._Owns) { + _Owns = TRUE; + } + _Ptr = _Y.release(); + } + return (*this); + } + ~CBC_AutoPtr() { + if (_Owns) { + delete _Ptr; + } + } + _Ty& operator*() const { return (*get()); } + _Ty* operator->() const { return (get()); } + _Ty* get() const { return (_Ptr); } + _Ty* release() const { + ((CBC_AutoPtr<_Ty>*)this)->_Owns = FALSE; + return (_Ptr); + } + + private: + FX_BOOL _Owns; + _Ty* _Ptr; +}; +#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_) +#include <limits> +#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \ + _FX_OS_ == _FX_IOS_) +#include <limits.h> +#endif +#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_) +#define FXSYS_isnan(x) _isnan(x) +#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_) +#include <cmath> +#define FXSYS_isnan(x) std::isnan(x) +#elif(_FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_ANDROID_) +#include <math.h> +#define FXSYS_isnan(x) isnan(x) +#endif +#if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_) +#define FXSYS_nan() (std::numeric_limits<float>::quiet_NaN()) +#elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \ + _FX_OS_ == _FX_IOS_ || _FX_OS_ == _FX_ANDROID_) +#define FXSYS_nan() NAN +#endif +enum BCFORMAT { + BCFORMAT_UNSPECIFY = -1, + BCFORMAT_CODABAR, + BCFORMAT_CODE_39, + BCFORMAT_CODE_128, + BCFORMAT_CODE_128B, + BCFORMAT_CODE_128C, + BCFORMAT_EAN_8, + BCFORMAT_UPC_A, + BCFORMAT_EAN_13, + BCFORMAT_PDF_417, + BCFORMAT_DATAMATRIX, + BCFORMAT_QR_CODE +}; +#define BCFORMAT_ECLEVEL_L 0 +#define BCFORMAT_ECLEVEL_M 1 +#define BCFORMAT_ECLEVEL_Q 2 +#define BCFORMAT_ECLEVEL_H 3 +#include <ctype.h> +#define FXSYS_IntMax INT_MAX +#define FXSYS_Isdigit isdigit +#define BCExceptionNO 0 +#define BCExceptionNotFound 1 +#define BCExceptionEndLessThanStart 2 +#define BCExceptionUnknownDecoder 3 +#define BCExceptionRotateNotSupported 4 +#define BCExceptionHeightAndWidthMustBeAtLeast1 5 +#define BCExceptionRegionMustFitInsideMatrix 6 +#define BCExceptionCanNotCallGetDimensionOnNonSquareMatrix 7 +#define BCExceptionFormatException 8 +#define BCExceptionIllegalArgumentMustMatchVersionSize 9 +#define BCExceptionChecksumException 10 +#define BCExceptionIllegalArgumentInvalidFirstDigit 11 +#define BCExceptionIllegalArgumentInvalidSecondDigit 12 +#define BCExceptionRuntimeDecodingInvalidISO_IEC 13 +#define BCExceptionRuntimeDecodingInvalidAlphanumeric 14 +#define BCExceptionLeftAndTopMustBeNonnegative 15 +#define BCExceptionIllegalArgument 16 +#define BCExceptionBadECI 17 +#define BCExceptionUnSupportedBarcode 18 +#define BCExceptionUnSupportedString 19 +#define BCExceptionDigitLengthMustBe8 20 +#define BCExceptionDataCheckException 21 +#define BCExceptionExtractNumberValueFromBitArray 22 +#define BCExceptionRead 23 +#define BCExceptionRequestedRowIsOutSizeTheImage 24 +#define BCExceptionNoContents 26 +#define BCExceptionUnSupportEclevel 27 +#define BCExceptionUnSupportMode 28 +#define BCExceptionReferenceMustBeBetween0And7 29 +#define BCExceptionBadErrorLocation 30 +#define BCExceptionDegreeIsNegative 31 +#define BCExceptionDivideByZero 32 +#define BCExceptionCoefficientsSizeIsNull 33 +#define BCExceptionNoCorrectionBytes 34 +#define BCExceptionNoDataBytesProvided 35 +#define BCExceptionR_I_1IsZero 36 +#define BCExceptionAIsZero 37 +#define BCExceptionIsZero 38 +#define BCExceptionDegreeNotMatchRoots 39 +#define BCExceptionContentsLengthShouldBetween1and80 40 +#define BCExceptionOnlyEncodeCODE_128 41 +#define BCExceptionOnlyEncodeCODE_39 42 +#define BCExceptionOnlyEncodeEAN_13 43 +#define BCExceptionOnlyEncodeEAN_8 44 +#define BCExceptionOnlyEncodeITF 45 +#define BCExceptionDigitLengthShould13 46 +#define BCExceptionDigitLengthMustBe6or8or10or12or14or16or20or24or44 47 +#define BCExceptionOnlyEncodeUPC_A 48 +#define BCExceptionDigitLengthShouldBe12 49 +#define BCExceptionValueMustBeEither0or1 50 +#define BCExceptionReedsolomnDecodeException 51 +#define BCExceptionBadIndexException 52 +#define BCExceptionBadValueException 53 +#define BCExceptionBadNumBitsException 54 +#define BCExceptioncanNotOperatexorOperator 55 +#define BCExceptionVersionMust1_40 56 +#define BCExceptionUnknown 57 +#define BCExceptionNoSuchVersion 58 +#define BCExceptionCannotFindBlockInfo 59 +#define BCExceptionDataTooBig 60 +#define BCExceptionInvalidQRCode 61 +#define BCExceptionDataTooMany 62 +#define BCExceptionBitsNotEqualCacity 63 +#define BCExceptionUnsupportedMode 64 +#define BCExceptionInvalidateCharacter 65 +#define BCExceptionBytesNotMatchOffset 66 +#define BCExceptionSizeInBytesDiffer 67 +#define BCExceptionInvalidateMaskPattern 68 +#define BCExceptionNullPointer 69 +#define BCExceptionBadMask 70 +#define BCExceptionBitSizeNot15 71 +#define BCExceptionBitSizeNot18 72 +#define BCExceptionInvalidateImageData 73 +#define BCExceptionHeight_8BeZero 74 +#define BCExceptionCharacterNotThisMode 75 +#define BCExceptionBitsBytesNotMatch 76 +#define BCExceptionInvalidateData 77 +#define BCExceptionLoadFile 78 +#define BCExceptionPDF417EncodeFail 79 +#define BCExceptionFailToCreateBitmap 80 +#define BCExceptionLoadFontFail 81 +#define BCExceptionOnlyEncodeCODEBAR 82 +#define BCExceptionCodabarShouldStartWithOneOfABCD 83 +#define BCExceptionCodabarShouldEndWithOneOfTNE 84 +#define BCExceptionCodabarEncodeCharsInvalid 85 +#define BCExceptionOnlyEncodeDATAMATRIX 86 +#define BCExceptionCharactersOutsideISO88591Encoding 87 +#define BCExceptionIllegalDataCodewords 88 +#define BCExceptionCannotHandleThisNumberOfDataRegions 89 +#define BCExceptionIllegalStateUnexpectedCase 90 +#define BCExceptionIllegalStateCountMustNotExceed4 91 +#define BCExceptionIllegalStateMessageLengthInvalid 92 +#define BCExceptionIllegalArgumentNotGigits 93 +#define BCExceptionIllegalStateIllegalMode 94 +#define BCExceptionOnlyEncodePDF417 95 +#define BCExceptionNonEncodableCharacterDetected 96 +#define BCExceptionErrorCorrectionLevelMustBeBetween0And8 97 +#define BCExceptionNoRecommendationPossible 98 +#define BCExceptionIllegalArgumentnMustBeAbove0 99 +#define BCExceptionUnableToFitMessageInColumns 100 +#define BCExceptionEncodedMessageContainsTooManyCodeWords 101 +#define BCExceptionBitmapSizeError 102 +#define BCExceptionFormatInstance 102 +#define BCExceptionChecksumInstance 103 +#define BCExceptiontNotFoundInstance 104 +#define BCExceptionNotFoundInstance 105 +#define BCExceptionCannotMetadata 106 +#define TWO_DIGIT_DATA_LENGTH_SIZE 24 +#define THREE_DIGIT_DATA_LENGTH_SIZE 23 +#define THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH_SIZE 57 +#define FOUR_DIGIT_DATA_LENGTH_SIZE 17 +#define BC_EXCEPTION_CHECK_ReturnVoid(e) \ + if (e != BCExceptionNO) \ + return; +#define BC_EXCEPTION_CHECK_ReturnValue(e, v) \ + if (e != BCExceptionNO) \ + return v; +#endif |