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

Side by Side Diff: core/include/fpdfapi/fpdf_objects.h

Issue 1410673005: Add type cast definitions for CPDF_Number. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
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_OBJECTS_H_ 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_
8 #define CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ 8 #define CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_
9 9
10 #include "../fxcrt/fx_coordinates.h" 10 #include "../fxcrt/fx_coordinates.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 void SetString(const CFX_ByteString& str); 73 void SetString(const CFX_ByteString& str);
74 74
75 void SetUnicodeText(const FX_WCHAR* pUnicodes, int len = -1); 75 void SetUnicodeText(const FX_WCHAR* pUnicodes, int len = -1);
76 76
77 int GetDirectType() const; 77 int GetDirectType() const;
78 78
79 FX_BOOL IsModified() const { return FALSE; } 79 FX_BOOL IsModified() const { return FALSE; }
80 80
81 bool IsBoolean() const { return m_Type == PDFOBJ_BOOLEAN; } 81 bool IsBoolean() const { return m_Type == PDFOBJ_BOOLEAN; }
82 bool IsDictionary() const { return m_Type == PDFOBJ_DICTIONARY; } 82 bool IsDictionary() const { return m_Type == PDFOBJ_DICTIONARY; }
83 bool IsNumber() const { return m_Type == PDFOBJ_NUMBER; }
Lei Zhang 2015/10/21 14:45:50 Do we want to do alphabetical order, or PDFOBJ_FOO
dsinclair 2015/10/21 15:00:11 I'm doing alphabetical order as I think it makes t
83 84
84 CPDF_Boolean* AsBoolean(); 85 CPDF_Boolean* AsBoolean();
85 const CPDF_Boolean* AsBoolean() const; 86 const CPDF_Boolean* AsBoolean() const;
86 87
87 CPDF_Dictionary* AsDictionary(); 88 CPDF_Dictionary* AsDictionary();
88 const CPDF_Dictionary* AsDictionary() const; 89 const CPDF_Dictionary* AsDictionary() const;
89 90
91 CPDF_Number* AsNumber();
92 const CPDF_Number* AsNumber() const;
93
90 protected: 94 protected:
91 CPDF_Object(FX_DWORD type) : m_Type(type), m_ObjNum(0), m_GenNum(0) {} 95 CPDF_Object(FX_DWORD type) : m_Type(type), m_ObjNum(0), m_GenNum(0) {}
92 ~CPDF_Object() {} 96 ~CPDF_Object() {}
93 void Destroy(); 97 void Destroy();
94 98
95 static const int OBJECT_REF_MAX_DEPTH = 128; 99 static const int OBJECT_REF_MAX_DEPTH = 128;
96 static int s_nCurRefDepth; 100 static int s_nCurRefDepth;
97 FX_DWORD m_Type; 101 FX_DWORD m_Type;
98 FX_DWORD m_ObjNum; 102 FX_DWORD m_ObjNum;
99 FX_DWORD m_GenNum; 103 FX_DWORD m_GenNum;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 protected: 175 protected:
172 FX_BOOL m_bInteger; 176 FX_BOOL m_bInteger;
173 177
174 union { 178 union {
175 int m_Integer; 179 int m_Integer;
176 180
177 FX_FLOAT m_Float; 181 FX_FLOAT m_Float;
178 }; 182 };
179 friend class CPDF_Object; 183 friend class CPDF_Object;
180 }; 184 };
185 inline CPDF_Number* ToNumber(CPDF_Object* obj) {
186 return obj ? obj->AsNumber() : nullptr;
187 }
188 inline const CPDF_Number* ToNumber(const CPDF_Object* obj) {
189 return obj ? obj->AsNumber() : nullptr;
190 }
191
181 class CPDF_String : public CPDF_Object { 192 class CPDF_String : public CPDF_Object {
182 public: 193 public:
183 static CPDF_String* Create(const CFX_ByteString& str, FX_BOOL bHex = FALSE) { 194 static CPDF_String* Create(const CFX_ByteString& str, FX_BOOL bHex = FALSE) {
184 return new CPDF_String(str, bHex); 195 return new CPDF_String(str, bHex);
185 } 196 }
186 197
187 static CPDF_String* Create(const CFX_WideString& str) { 198 static CPDF_String* Create(const CFX_WideString& str) {
188 return new CPDF_String(str); 199 return new CPDF_String(str);
189 } 200 }
190 201
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 586
576 protected: 587 protected:
577 CFX_MapPtrToPtr m_IndirectObjs; 588 CFX_MapPtrToPtr m_IndirectObjs;
578 589
579 CPDF_Parser* m_pParser; 590 CPDF_Parser* m_pParser;
580 591
581 FX_DWORD m_LastObjNum; 592 FX_DWORD m_LastObjNum;
582 }; 593 };
583 594
584 #endif // CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ 595 #endif // CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_
OLDNEW
« no previous file with comments | « no previous file | core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp » ('j') | core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698