Index: core/include/fpdfapi/fpdf_objects.h |
diff --git a/core/include/fpdfapi/fpdf_objects.h b/core/include/fpdfapi/fpdf_objects.h |
index d0617e01abc2b0079ac3768652420458303a4732..ca4bb51fda6433571e3ad37a23ba4aa57d20c943 100644 |
--- a/core/include/fpdfapi/fpdf_objects.h |
+++ b/core/include/fpdfapi/fpdf_objects.h |
@@ -30,20 +30,21 @@ class CPDF_StreamFilter; |
class CPDF_String; |
class IFX_FileRead; |
-#define PDFOBJ_INVALID 0 |
-#define PDFOBJ_BOOLEAN 1 |
-#define PDFOBJ_NUMBER 2 |
-#define PDFOBJ_STRING 3 |
-#define PDFOBJ_NAME 4 |
-#define PDFOBJ_ARRAY 5 |
-#define PDFOBJ_DICTIONARY 6 |
-#define PDFOBJ_STREAM 7 |
-#define PDFOBJ_NULL 8 |
-#define PDFOBJ_REFERENCE 9 |
- |
class CPDF_Object { |
public: |
- int GetType() const { return m_Type; } |
+ enum Type { |
+ BOOLEAN = 1, |
+ NUMBER, |
+ STRING, |
+ NAME, |
+ ARRAY, |
+ DICTIONARY, |
+ STREAM, |
+ NULLOBJ, |
+ REFERENCE |
+ }; |
+ |
+ Type GetType() const { return m_Type; } |
FX_DWORD GetObjNum() const { return m_ObjNum; } |
FX_DWORD GetGenNum() const { return m_GenNum; } |
@@ -68,14 +69,14 @@ class CPDF_Object { |
void SetString(const CFX_ByteString& str); |
void SetUnicodeText(const FX_WCHAR* pUnicodes, int len = -1); |
- bool IsArray() const { return m_Type == PDFOBJ_ARRAY; } |
- bool IsBoolean() const { return m_Type == PDFOBJ_BOOLEAN; } |
- bool IsDictionary() const { return m_Type == PDFOBJ_DICTIONARY; } |
- bool IsName() const { return m_Type == PDFOBJ_NAME; } |
- bool IsNumber() const { return m_Type == PDFOBJ_NUMBER; } |
- bool IsReference() const { return m_Type == PDFOBJ_REFERENCE; } |
- bool IsStream() const { return m_Type == PDFOBJ_STREAM; } |
- bool IsString() const { return m_Type == PDFOBJ_STRING; } |
+ bool IsArray() const { return m_Type == ARRAY; } |
+ bool IsBoolean() const { return m_Type == BOOLEAN; } |
+ bool IsDictionary() const { return m_Type == DICTIONARY; } |
+ bool IsName() const { return m_Type == NAME; } |
+ bool IsNumber() const { return m_Type == NUMBER; } |
+ bool IsReference() const { return m_Type == REFERENCE; } |
+ bool IsStream() const { return m_Type == STREAM; } |
+ bool IsString() const { return m_Type == STRING; } |
CPDF_Array* AsArray(); |
const CPDF_Array* AsArray() const; |
@@ -95,14 +96,13 @@ class CPDF_Object { |
const CPDF_String* AsString() const; |
protected: |
- explicit CPDF_Object(FX_DWORD type) |
- : m_Type(type), m_ObjNum(0), m_GenNum(0) {} |
+ explicit CPDF_Object(Type type) : m_Type(type), m_ObjNum(0), m_GenNum(0) {} |
~CPDF_Object() {} |
void Destroy(); |
const CPDF_Object* GetBasicObject() const; |
- FX_DWORD m_Type; |
+ const Type m_Type; |
FX_DWORD m_ObjNum; |
FX_DWORD m_GenNum; |
@@ -111,15 +111,14 @@ class CPDF_Object { |
friend class CPDF_SyntaxParser; |
private: |
- CPDF_Object(const CPDF_Object& src) {} |
CPDF_Object* CloneInternal(FX_BOOL bDirect, |
std::set<FX_DWORD>* visited) const; |
}; |
class CPDF_Boolean : public CPDF_Object { |
public: |
- CPDF_Boolean() : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(false) {} |
+ CPDF_Boolean() : CPDF_Object(BOOLEAN), m_bValue(false) {} |
explicit CPDF_Boolean(FX_BOOL value) |
- : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(value) {} |
+ : CPDF_Object(BOOLEAN), m_bValue(value) {} |
FX_BOOL Identical(CPDF_Boolean* pOther) const { |
return m_bValue == pOther->m_bValue; |
@@ -141,7 +140,7 @@ inline const CPDF_Boolean* ToBoolean(const CPDF_Object* obj) { |
class CPDF_Number : public CPDF_Object { |
public: |
- CPDF_Number() : CPDF_Object(PDFOBJ_NUMBER), m_bInteger(TRUE), m_Integer(0) {} |
+ CPDF_Number() : CPDF_Object(NUMBER), m_bInteger(TRUE), m_Integer(0) {} |
explicit CPDF_Number(int value); |
@@ -190,10 +189,10 @@ inline const CPDF_Number* ToNumber(const CPDF_Object* obj) { |
class CPDF_String : public CPDF_Object { |
public: |
- CPDF_String() : CPDF_Object(PDFOBJ_STRING), m_bHex(FALSE) {} |
+ CPDF_String() : CPDF_Object(STRING), m_bHex(FALSE) {} |
CPDF_String(const CFX_ByteString& str, FX_BOOL bHex) |
- : CPDF_Object(PDFOBJ_STRING), m_String(str), m_bHex(bHex) {} |
+ : CPDF_Object(STRING), m_String(str), m_bHex(bHex) {} |
explicit CPDF_String(const CFX_WideString& str); |
@@ -221,11 +220,10 @@ inline const CPDF_String* ToString(const CPDF_Object* obj) { |
class CPDF_Name : public CPDF_Object { |
public: |
explicit CPDF_Name(const CFX_ByteString& str) |
- : CPDF_Object(PDFOBJ_NAME), m_Name(str) {} |
+ : CPDF_Object(NAME), m_Name(str) {} |
explicit CPDF_Name(const CFX_ByteStringC& str) |
- : CPDF_Object(PDFOBJ_NAME), m_Name(str) {} |
- explicit CPDF_Name(const FX_CHAR* str) |
- : CPDF_Object(PDFOBJ_NAME), m_Name(str) {} |
+ : CPDF_Object(NAME), m_Name(str) {} |
+ explicit CPDF_Name(const FX_CHAR* str) : CPDF_Object(NAME), m_Name(str) {} |
CFX_ByteString GetString() const { return m_Name; } |
@@ -246,7 +244,7 @@ inline const CPDF_Name* ToName(const CPDF_Object* obj) { |
class CPDF_Array : public CPDF_Object { |
public: |
- CPDF_Array() : CPDF_Object(PDFOBJ_ARRAY) {} |
+ CPDF_Array() : CPDF_Object(ARRAY) {} |
FX_DWORD GetCount() const { return m_Objects.GetSize(); } |
@@ -324,7 +322,7 @@ class CPDF_Dictionary : public CPDF_Object { |
using iterator = std::map<CFX_ByteString, CPDF_Object*>::iterator; |
using const_iterator = std::map<CFX_ByteString, CPDF_Object*>::const_iterator; |
- CPDF_Dictionary() : CPDF_Object(PDFOBJ_DICTIONARY) {} |
+ CPDF_Dictionary() : CPDF_Object(DICTIONARY) {} |
CPDF_Object* GetElement(const CFX_ByteStringC& key) const; |
@@ -527,13 +525,13 @@ class CPDF_StreamAcc { |
class CPDF_Null : public CPDF_Object { |
public: |
- CPDF_Null() : CPDF_Object(PDFOBJ_NULL) {} |
+ CPDF_Null() : CPDF_Object(NULLOBJ) {} |
}; |
class CPDF_Reference : public CPDF_Object { |
public: |
CPDF_Reference(CPDF_IndirectObjectHolder* pDoc, int objnum) |
- : CPDF_Object(PDFOBJ_REFERENCE), m_pObjList(pDoc), m_RefObjNum(objnum) {} |
+ : CPDF_Object(REFERENCE), m_pObjList(pDoc), m_RefObjNum(objnum) {} |
CPDF_IndirectObjectHolder* GetObjList() const { return m_pObjList; } |