Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2045)

Unified Diff: core/include/fpdfapi/fpdf_serial.h

Issue 1398383002: core/ difference with XFA (for information only). (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: After bidi Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | core/include/fpdfdoc/fpdf_doc.h » ('j') | core/include/fxcodec/fx_codec.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/include/fpdfapi/fpdf_serial.h
diff --git a/core/include/fpdfapi/fpdf_serial.h b/core/include/fpdfapi/fpdf_serial.h
index 4a325341cb73ccd7b7c04ec9f1cd84c1a2992f42..007135226d765e2d00e790da0b5c1a18e32556f6 100644
--- a/core/include/fpdfapi/fpdf_serial.h
+++ b/core/include/fpdfapi/fpdf_serial.h
@@ -13,6 +13,101 @@
class CPDF_ObjectStream;
class CPDF_XRefStream;
CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
+#ifdef PDF_ENABLE_XFA
+class CPDF_ObjArchiveSaver : public CFX_ArchiveSaver {
+ public:
+ friend CPDF_ObjArchiveSaver& operator<<(CPDF_ObjArchiveSaver& ar,
+ const CPDF_Object* pObj);
+
+ protected:
+ CFX_MapPtrToPtr m_ObjectMap;
+};
+class CPDF_ObjArchiveLoader : public CFX_ArchiveLoader {
+ public:
+ CPDF_ObjArchiveLoader(const uint8_t* pData, FX_DWORD dwSize)
+ : CFX_ArchiveLoader(pData, dwSize), m_IndirectObjects(NULL) {}
+
+ friend CPDF_ObjArchiveLoader& operator>>(CPDF_ObjArchiveLoader& ar,
+ CPDF_Object*& pObj);
+
+ protected:
+ CPDF_IndirectObjects m_IndirectObjects;
+};
+class CPDF_PageArchiveSaver : public CPDF_ObjArchiveSaver {
+ public:
+ CPDF_PageArchiveSaver(CPDF_PageObjects* pPageObjs);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_PageObject* pObj);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_ClipPath clip_path);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_GraphState graph_state);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_TextState text_state);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_ColorState color_state);
+
+ friend CPDF_PageArchiveSaver& operator<<(CPDF_PageArchiveSaver& ar,
+ CPDF_GeneralState general_state);
+
+ protected:
+ CPDF_ClipPath m_LastClipPath;
+
+ CPDF_GraphState m_LastGraphState;
+
+ CPDF_ColorState m_LastColorState;
+
+ CPDF_TextState m_LastTextState;
+
+ CPDF_GeneralState m_LastGeneralState;
+};
+class CPDF_PageArchiveLoader : public CPDF_ObjArchiveLoader {
+ public:
+ CPDF_PageArchiveLoader(CPDF_PageObjects* pPageObjs,
+ const uint8_t* pData,
+ FX_DWORD dwSize);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_PageObject*& pObj);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_ClipPath& clip_path);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_GraphState& graph_state);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_TextState& text_state);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_ColorState& color_state);
+
+ friend CPDF_PageArchiveLoader& operator>>(CPDF_PageArchiveLoader& ar,
+ CPDF_GeneralState& general_state);
+
+ protected:
+ void PostProcColor(CPDF_Color& color);
+
+ CPDF_Object* AddResource(CPDF_Object* pSrcObj, const FX_CHAR* type);
+
+ CPDF_ClipPath m_LastClipPath;
+
+ CPDF_GraphState m_LastGraphState;
+
+ CPDF_ColorState m_LastColorState;
+
+ CPDF_TextState m_LastTextState;
+
+ CPDF_GeneralState m_LastGeneralState;
+
+ CFX_MapPtrToPtr m_ObjectMap;
+};
+#endif
#define FPDFCREATE_INCREMENTAL 1
#define FPDFCREATE_NO_ORIGINAL 2
#define FPDFCREATE_PROGRESSIVE 4
« no previous file with comments | « no previous file | core/include/fpdfdoc/fpdf_doc.h » ('j') | core/include/fxcodec/fx_codec.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698