summaryrefslogtreecommitdiff
path: root/core/fpdfapi/edit/cpdf_creator.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/edit/cpdf_creator.h')
-rw-r--r--core/fpdfapi/edit/cpdf_creator.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/core/fpdfapi/edit/cpdf_creator.h b/core/fpdfapi/edit/cpdf_creator.h
index 5695de1e20..9a15021c25 100644
--- a/core/fpdfapi/edit/cpdf_creator.h
+++ b/core/fpdfapi/edit/cpdf_creator.h
@@ -37,10 +37,29 @@ class CPDF_Creator {
int32_t Continue();
bool SetFileVersion(int32_t fileVersion = 17);
- private:
- friend class CPDF_ObjectStream;
- friend class CPDF_XRefStream;
+ CFX_FileBufferArchive* GetFile() { return &m_File; }
+
+ FX_FILESIZE GetOffset() const { return m_Offset; }
+ void IncrementOffset(FX_FILESIZE inc);
+ uint32_t GetNextObjectNumber() { return ++m_dwLastObjNum; }
+ uint32_t GetLastObjectNumber() const { return m_dwLastObjNum; }
+ int32_t GetObjectStreamSize() const { return m_ObjectStreamSize; }
+ CPDF_CryptoHandler* GetCryptoHandler() { return m_pCryptoHandler.Get(); }
+ CPDF_Document* GetDocument() const { return m_pDocument; }
+ CPDF_Array* GetIDArray() const { return m_pIDArray.get(); }
+ CPDF_Dictionary* GetEncryptDict() const { return m_pEncryptDict; }
+ uint32_t GetEncryptObjectNumber() const { return m_dwEncryptObjNum; }
+
+ uint32_t GetObjectOffset(uint32_t objnum) { return m_ObjectOffsets[objnum]; }
+ bool HasObjectNumber(uint32_t objnum) {
+ return m_ObjectOffsets.find(objnum) != m_ObjectOffsets.end();
+ }
+ void SetObjectOffset(uint32_t objnum, FX_FILESIZE offset) {
+ m_ObjectOffsets[objnum] = offset;
+ }
+ bool IsIncremental() const { return !!(m_dwFlags & FPDFCREATE_INCREMENTAL); }
+ private:
bool Create(uint32_t flags);
void Clear();
@@ -72,6 +91,8 @@ class CPDF_Creator {
uint32_t objnum,
CPDF_CryptoHandler* pCrypto);
+ bool IsXRefNeedEnd();
+
CPDF_Document* const m_pDocument;
CPDF_Parser* const m_pParser;
bool m_bSecurityChanged;