| // 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_ENCODERCONTEXT_H_ | |
| #define _BC_ENCODERCONTEXT_H_ | |
| class CBC_SymbolShapeHint; | |
| class CBC_SymbolInfo; | |
| class CBC_Dimension; | |
| class CBC_EncoderContext; | |
| class CBC_EncoderContext : public CBC_SymbolShapeHint { | |
| public: | |
| CBC_EncoderContext(const CFX_WideString msg, | |
| CFX_WideString ecLevel, | |
| int32_t& e); | |
| virtual ~CBC_EncoderContext(); | |
| void setSymbolShape(SymbolShapeHint shape); | |
| void setSizeConstraints(CBC_Dimension* minSize, CBC_Dimension* maxSize); | |
| CFX_WideString getMessage(); | |
| void setSkipAtEnd(int32_t count); | |
| FX_WCHAR getCurrentChar(); | |
| FX_WCHAR getCurrent(); | |
| void writeCodewords(CFX_WideString codewords); | |
| void writeCodeword(FX_WCHAR codeword); | |
| int32_t getCodewordCount(); | |
| void signalEncoderChange(int32_t encoding); | |
| void resetEncoderSignal(); | |
| FX_BOOL hasMoreCharacters(); | |
| int32_t getRemainingCharacters(); | |
| void updateSymbolInfo(int32_t& e); | |
| void updateSymbolInfo(int32_t len, int32_t& e); | |
| void resetSymbolInfo(); | |
| public: | |
| CFX_WideString m_msg; | |
| CFX_WideString m_codewords; | |
| int32_t m_pos; | |
| int32_t m_newEncoding; | |
| CBC_SymbolInfo* m_symbolInfo; | |
| private: | |
| int32_t getTotalMessageCharCount(); | |
| private: | |
| SymbolShapeHint m_shape; | |
| CBC_Dimension* m_minSize; | |
| CBC_Dimension* m_maxSize; | |
| int32_t m_skipAtEnd; | |
| }; | |
| #endif |