summaryrefslogtreecommitdiff
path: root/core/include/fpdfapi/fpdf_page.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/include/fpdfapi/fpdf_page.h')
-rw-r--r--core/include/fpdfapi/fpdf_page.h27
1 files changed, 5 insertions, 22 deletions
diff --git a/core/include/fpdfapi/fpdf_page.h b/core/include/fpdfapi/fpdf_page.h
index fb951280a2..3d98e34578 100644
--- a/core/include/fpdfapi/fpdf_page.h
+++ b/core/include/fpdfapi/fpdf_page.h
@@ -7,6 +7,7 @@
#ifndef CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
#define CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
+#include <list>
#include <memory>
#include "core/include/fpdfapi/fpdf_parser.h"
@@ -27,33 +28,15 @@ class CPDF_StreamContentParser;
#define PDFTRANS_ISOLATED 0x0200
#define PDFTRANS_KNOCKOUT 0x0400
-class CPDF_PageObjectList : public CFX_PtrList {
+class CPDF_PageObjectList : public std::list<std::unique_ptr<CPDF_PageObject>> {
public:
- explicit CPDF_PageObjectList(int nBlockSize) : CFX_PtrList(nBlockSize) {}
-
- CPDF_PageObject* GetNextObject(FX_POSITION& pos) const {
- return static_cast<CPDF_PageObject*>(GetNext(pos));
- }
-
- CPDF_PageObject* GetPrevObject(FX_POSITION& pos) const {
- return static_cast<CPDF_PageObject*>(GetPrev(pos));
- }
-
- CPDF_PageObject* GetObjectAt(FX_POSITION pos) const {
- return static_cast<CPDF_PageObject*>(GetAt(pos));
- }
-
// Linear complexity, to be avoided except as needed by public APIs.
- CPDF_PageObject* GetObjectByIndex(int index) const;
-
- FX_POSITION InsertObject(FX_POSITION posInsertAfter,
- CPDF_PageObject* pNewObject);
+ CPDF_PageObject* GetPageObjectByIndex(int index);
};
class CPDF_PageObjectHolder {
public:
CPDF_PageObjectHolder();
- ~CPDF_PageObjectHolder();
void ContinueParse(IFX_Pause* pPause);
FX_BOOL IsParsed() const { return m_ParseState == CONTENT_PARSED; }
@@ -165,8 +148,8 @@ class CPDF_Form : public CPDF_PageObjectHolder {
};
class CPDF_PageContentGenerator {
public:
- CPDF_PageContentGenerator(CPDF_Page* pPage);
- ~CPDF_PageContentGenerator();
+ explicit CPDF_PageContentGenerator(CPDF_Page* pPage);
+
FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject);
void GenerateContent();
void TransformContent(CFX_Matrix& matrix);