OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ | 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ |
8 #define CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ | 8 #define CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ |
9 | 9 |
10 #include "fpdf_page.h" | 10 #include "fpdf_page.h" |
11 #include "fpdf_pageobj.h" | 11 #include "fpdf_pageobj.h" |
12 | 12 |
13 class CPDF_ObjectStream; | 13 class CPDF_ObjectStream; |
14 class CPDF_XRefStream; | 14 class CPDF_XRefStream; |
15 CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& buf, const CPDF_Object* pObj); | 15 CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& buf, const CPDF_Object* pObj); |
16 class CPDF_ObjArchiveSaver : public CFX_ArchiveSaver | |
17 { | |
18 public: | |
19 | |
20 friend CPDF_ObjArchiveSaver& operator << (CPDF_ObjArchiveSaver& ar, c
onst CPDF_Object* pObj); | |
21 protected: | |
22 | |
23 CFX_MapPtrToPtr m_ObjectMap; | |
24 }; | |
25 class CPDF_ObjArchiveLoader : public CFX_ArchiveLoader | |
26 { | |
27 public: | |
28 | |
29 CPDF_ObjArchiveLoader(const uint8_t* pData, FX_DWORD dwSize) : CFX_ArchiveLo
ader(pData, dwSize), | |
30 m_IndirectObjects(NULL) {} | |
31 | |
32 friend CPDF_ObjArchiveLoader& operator >> (CPDF_ObjArchiveLoader& ar,
CPDF_Object*& pObj); | |
33 protected: | |
34 | |
35 CPDF_IndirectObjects m_IndirectObjects; | |
36 }; | |
37 class CPDF_PageArchiveSaver : public CPDF_ObjArchiveSaver | |
38 { | |
39 public: | |
40 | |
41 CPDF_PageArchiveSaver(CPDF_PageObjects* pPageObjs); | |
42 | |
43 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_PageObject* pObj); | |
44 | |
45 | |
46 | |
47 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_ClipPath clip_path); | |
48 | |
49 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_GraphState graph_state); | |
50 | |
51 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_TextState text_state); | |
52 | |
53 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_ColorState color_state); | |
54 | |
55 friend CPDF_PageArchiveSaver& operator << (CPDF_PageArchiveSaver& ar,
CPDF_GeneralState general_state); | |
56 | |
57 protected: | |
58 | |
59 CPDF_ClipPath m_LastClipPath; | |
60 | |
61 CPDF_GraphState m_LastGraphState; | |
62 | |
63 CPDF_ColorState m_LastColorState; | |
64 | |
65 CPDF_TextState m_LastTextState; | |
66 | |
67 CPDF_GeneralState m_LastGeneralState; | |
68 }; | |
69 class CPDF_PageArchiveLoader : public CPDF_ObjArchiveLoader | |
70 { | |
71 public: | |
72 | |
73 CPDF_PageArchiveLoader(CPDF_PageObjects* pPageObjs, const uint8_t* pData, FX
_DWORD dwSize); | |
74 | |
75 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_PageObject*& pObj); | |
76 | |
77 | |
78 | |
79 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_ClipPath& clip_path); | |
80 | |
81 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_GraphState& graph_state); | |
82 | |
83 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_TextState& text_state); | |
84 | |
85 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_ColorState& color_state); | |
86 | |
87 friend CPDF_PageArchiveLoader& operator >> (CPDF_PageArchiveLoader& ar,
CPDF_GeneralState& general_state); | |
88 | |
89 protected: | |
90 void PostProcColor(CPDF_Color& color); | |
91 | |
92 CPDF_Object* AddResource(CPDF_Object* pSrcObj, const FX_CHAR*
type); | |
93 | |
94 CPDF_ClipPath m_LastClipPath; | |
95 | |
96 CPDF_GraphState m_LastGraphState; | |
97 | |
98 CPDF_ColorState m_LastColorState; | |
99 | |
100 CPDF_TextState m_LastTextState; | |
101 | |
102 CPDF_GeneralState m_LastGeneralState; | |
103 | |
104 CFX_MapPtrToPtr m_ObjectMap; | |
105 }; | |
106 #define FPDFCREATE_INCREMENTAL 1 | 16 #define FPDFCREATE_INCREMENTAL 1 |
107 #define FPDFCREATE_NO_ORIGINAL 2 | 17 #define FPDFCREATE_NO_ORIGINAL 2 |
108 #define FPDFCREATE_PROGRESSIVE 4 | 18 #define FPDFCREATE_PROGRESSIVE 4 |
109 #define FPDFCREATE_OBJECTSTREAM 8 | 19 #define FPDFCREATE_OBJECTSTREAM 8 |
110 class CPDF_Creator | 20 class CPDF_Creator |
111 { | 21 { |
112 public: | 22 public: |
113 | 23 |
114 CPDF_Creator(CPDF_Document* pDoc); | 24 CPDF_Creator(CPDF_Document* pDoc); |
115 | 25 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 CFX_DWordArray m_NewObjNumArray; | 101 CFX_DWordArray m_NewObjNumArray; |
192 | 102 |
193 CPDF_Array* m_pIDArray; | 103 CPDF_Array* m_pIDArray; |
194 | 104 |
195 int32_t m_FileVersion; | 105 int32_t m_FileVersion; |
196 friend class CPDF_ObjectStream; | 106 friend class CPDF_ObjectStream; |
197 friend class CPDF_XRefStream; | 107 friend class CPDF_XRefStream; |
198 }; | 108 }; |
199 | 109 |
200 #endif // CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ | 110 #endif // CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_ |
OLD | NEW |