OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ | |
8 #define CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ | |
9 | |
10 #include <memory> | |
11 #include <vector> | |
12 | |
13 #include "core/include/fxcrt/fx_basic.h" | |
14 #include "core/src/fxcodec/jbig2/JBig2_ArithDecoder.h" | |
15 #include "core/src/fxcodec/jbig2/JBig2_List.h" | |
16 | |
17 class CJBig2_Image; | |
18 | |
19 class CJBig2_SymbolDict { | |
20 public: | |
21 CJBig2_SymbolDict(); | |
22 ~CJBig2_SymbolDict(); | |
23 | |
24 std::unique_ptr<CJBig2_SymbolDict> DeepCopy() const; | |
25 | |
26 // Takes ownership of |image|. | |
27 void AddImage(CJBig2_Image* image) { m_SDEXSYMS.push_back(image); } | |
28 | |
29 size_t NumImages() const { return m_SDEXSYMS.size(); } | |
30 CJBig2_Image* GetImage(size_t index) const { return m_SDEXSYMS.get(index); } | |
31 | |
32 const std::vector<JBig2ArithCtx>& GbContext() const { return m_gbContext; } | |
33 const std::vector<JBig2ArithCtx>& GrContext() const { return m_grContext; } | |
34 | |
35 void SetGbContext(const std::vector<JBig2ArithCtx>& gbContext) { | |
36 m_gbContext = gbContext; | |
37 } | |
38 void SetGrContext(const std::vector<JBig2ArithCtx>& grContext) { | |
39 m_grContext = grContext; | |
40 } | |
41 | |
42 private: | |
43 std::vector<JBig2ArithCtx> m_gbContext; | |
44 std::vector<JBig2ArithCtx> m_grContext; | |
45 CJBig2_List<CJBig2_Image> m_SDEXSYMS; | |
46 }; | |
47 | |
48 #endif // CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ | |
OLD | NEW |