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

Side by Side Diff: core/include/fxcrt/fx_basic.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, 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_FXCRT_FX_BASIC_H_ 7 #ifndef CORE_INCLUDE_FXCRT_FX_BASIC_H_
8 #define CORE_INCLUDE_FXCRT_FX_BASIC_H_ 8 #define CORE_INCLUDE_FXCRT_FX_BASIC_H_
9 9
10 #include "fx_memory.h" 10 #include "fx_memory.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 123
124 FX_WCHAR* GetBuffer() const { return (FX_WCHAR*)m_pBuffer; } 124 FX_WCHAR* GetBuffer() const { return (FX_WCHAR*)m_pBuffer; }
125 125
126 void Delete(int start_index, int count) { 126 void Delete(int start_index, int count) {
127 CFX_BinaryBuf::Delete(start_index * sizeof(FX_WCHAR), 127 CFX_BinaryBuf::Delete(start_index * sizeof(FX_WCHAR),
128 count * sizeof(FX_WCHAR)); 128 count * sizeof(FX_WCHAR));
129 } 129 }
130 130
131 CFX_WideStringC GetWideString() const; 131 CFX_WideStringC GetWideString() const;
132 }; 132 };
133 #ifdef PDF_ENABLE_XFA
134 class CFX_ArchiveSaver {
135 public:
136 CFX_ArchiveSaver() : m_pStream(NULL) {}
137
138 CFX_ArchiveSaver& operator<<(uint8_t i);
139
140 CFX_ArchiveSaver& operator<<(int i);
141
142 CFX_ArchiveSaver& operator<<(FX_DWORD i);
143
144 CFX_ArchiveSaver& operator<<(FX_FLOAT i);
145
146 CFX_ArchiveSaver& operator<<(double i);
147
148 CFX_ArchiveSaver& operator<<(const CFX_ByteStringC& bstr);
149
150 CFX_ArchiveSaver& operator<<(const FX_WCHAR* bstr);
151
152 CFX_ArchiveSaver& operator<<(const CFX_WideString& wstr);
153
154 void Write(const void* pData, FX_STRSIZE dwSize);
155
156 intptr_t GetLength() { return m_SavingBuf.GetSize(); }
157
158 const uint8_t* GetBuffer() { return m_SavingBuf.GetBuffer(); }
159
160 void SetStream(IFX_FileStream* pStream) { m_pStream = pStream; }
161
162 protected:
163 CFX_BinaryBuf m_SavingBuf;
164
165 IFX_FileStream* m_pStream;
166 };
167 class CFX_ArchiveLoader {
168 public:
169 CFX_ArchiveLoader(const uint8_t* pData, FX_DWORD dwSize);
170
171 CFX_ArchiveLoader& operator>>(uint8_t& i);
172
173 CFX_ArchiveLoader& operator>>(int& i);
174
175 CFX_ArchiveLoader& operator>>(FX_DWORD& i);
176
177 CFX_ArchiveLoader& operator>>(FX_FLOAT& i);
178
179 CFX_ArchiveLoader& operator>>(double& i);
180
181 CFX_ArchiveLoader& operator>>(CFX_ByteString& bstr);
182
183 CFX_ArchiveLoader& operator>>(CFX_WideString& wstr);
184
185 FX_BOOL IsEOF();
186
187 FX_BOOL Read(void* pBuf, FX_DWORD dwSize);
188
189 protected:
190 FX_DWORD m_LoadingPos;
191
192 const uint8_t* m_pLoadingBuf;
193
194 FX_DWORD m_LoadingSize;
195 };
196 #endif
133 197
134 class IFX_BufferArchive { 198 class IFX_BufferArchive {
135 public: 199 public:
136 IFX_BufferArchive(FX_STRSIZE size); 200 IFX_BufferArchive(FX_STRSIZE size);
137 virtual ~IFX_BufferArchive() {} 201 virtual ~IFX_BufferArchive() {}
138 202
139 virtual void Clear(); 203 virtual void Clear();
140 204
141 FX_BOOL Flush(); 205 FX_BOOL Flush();
142 206
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 return iStart; 431 return iStart;
368 } 432 }
369 return -1; 433 return -1;
370 } 434 }
371 }; 435 };
372 typedef CFX_ArrayTemplate<uint8_t> CFX_ByteArray; 436 typedef CFX_ArrayTemplate<uint8_t> CFX_ByteArray;
373 typedef CFX_ArrayTemplate<FX_WORD> CFX_WordArray; 437 typedef CFX_ArrayTemplate<FX_WORD> CFX_WordArray;
374 typedef CFX_ArrayTemplate<FX_DWORD> CFX_DWordArray; 438 typedef CFX_ArrayTemplate<FX_DWORD> CFX_DWordArray;
375 typedef CFX_ArrayTemplate<void*> CFX_PtrArray; 439 typedef CFX_ArrayTemplate<void*> CFX_PtrArray;
376 typedef CFX_ArrayTemplate<FX_FILESIZE> CFX_FileSizeArray; 440 typedef CFX_ArrayTemplate<FX_FILESIZE> CFX_FileSizeArray;
441 #ifdef PDF_ENABLE_XFA
442 typedef CFX_ArrayTemplate<FX_FLOAT> CFX_FloatArray;
443 typedef CFX_ArrayTemplate<int32_t> CFX_Int32Array;
444 #endif
377 445
378 template <class ObjectClass> 446 template <class ObjectClass>
379 class CFX_ObjectArray : public CFX_BasicArray { 447 class CFX_ObjectArray : public CFX_BasicArray {
380 public: 448 public:
381 CFX_ObjectArray() : CFX_BasicArray(sizeof(ObjectClass)) {} 449 CFX_ObjectArray() : CFX_BasicArray(sizeof(ObjectClass)) {}
382 450
383 ~CFX_ObjectArray() { RemoveAll(); } 451 ~CFX_ObjectArray() { RemoveAll(); }
384 452
385 void Add(const ObjectClass& data) { 453 void Add(const ObjectClass& data) {
386 new ((void*)InsertSpaceAt(m_nSize, 1)) ObjectClass(data); 454 new ((void*)InsertSpaceAt(m_nSize, 1)) ObjectClass(data);
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 int m_nBlockSize; 695 int m_nBlockSize;
628 696
629 FX_DWORD HashKey(void* key) const; 697 FX_DWORD HashKey(void* key) const;
630 698
631 CAssoc* NewAssoc(); 699 CAssoc* NewAssoc();
632 700
633 void FreeAssoc(CAssoc* pAssoc); 701 void FreeAssoc(CAssoc* pAssoc);
634 702
635 CAssoc* GetAssocAt(void* key, FX_DWORD& hash) const; 703 CAssoc* GetAssocAt(void* key, FX_DWORD& hash) const;
636 }; 704 };
705 #ifdef PDF_ENABLE_XFA
706 template <class KeyType, class ValueType>
707 class CFX_MapPtrTemplate : public CFX_MapPtrToPtr {
708 public:
709 CFX_MapPtrTemplate() : CFX_MapPtrToPtr(10) {}
637 710
711 FX_BOOL Lookup(KeyType key, ValueType& rValue) const {
712 void* pValue = NULL;
713 if (!CFX_MapPtrToPtr::Lookup((void*)(uintptr_t)key, pValue)) {
714 return FALSE;
715 }
716 rValue = (ValueType)(uintptr_t)pValue;
717 return TRUE;
718 }
719
720 ValueType& operator[](KeyType key) {
721 return (ValueType&)CFX_MapPtrToPtr::operator[]((void*)(uintptr_t)key);
722 }
723
724 void SetAt(KeyType key, ValueType newValue) {
725 CFX_MapPtrToPtr::SetAt((void*)(uintptr_t)key, (void*)(uintptr_t)newValue);
726 }
727
728 FX_BOOL RemoveKey(KeyType key) {
729 return CFX_MapPtrToPtr::RemoveKey((void*)(uintptr_t)key);
730 }
731 #endif
732
733 #ifdef PDF_ENABLE_XFA
734 void GetNextAssoc(FX_POSITION& rNextPosition,
735 KeyType& rKey,
736 ValueType& rValue) const {
737 void* pKey = NULL;
738 void* pValue = NULL;
739 CFX_MapPtrToPtr::GetNextAssoc(rNextPosition, pKey, pValue);
740 rKey = (KeyType)(uintptr_t)pKey;
741 rValue = (ValueType)(uintptr_t)pValue;
742 }
743 };
744 #endif
638 class CFX_CMapByteStringToPtr { 745 class CFX_CMapByteStringToPtr {
639 public: 746 public:
640 CFX_CMapByteStringToPtr(); 747 CFX_CMapByteStringToPtr();
641 748
642 ~CFX_CMapByteStringToPtr(); 749 ~CFX_CMapByteStringToPtr();
643 750
644 void RemoveAll(); 751 void RemoveAll();
645 752
646 FX_POSITION GetStartPosition() const; 753 FX_POSITION GetStartPosition() const;
647 754
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1081 typedef enum { 1188 typedef enum {
1082 Ready, 1189 Ready,
1083 ToBeContinued, 1190 ToBeContinued,
1084 Found, 1191 Found,
1085 NotFound, 1192 NotFound,
1086 Failed, 1193 Failed,
1087 Done 1194 Done
1088 } FX_ProgressiveStatus; 1195 } FX_ProgressiveStatus;
1089 #define ProgressiveStatus FX_ProgressiveStatus 1196 #define ProgressiveStatus FX_ProgressiveStatus
1090 #define FX_NAMESPACE_DECLARE(namespace, type) namespace ::type 1197 #define FX_NAMESPACE_DECLARE(namespace, type) namespace ::type
1198 #ifdef PDF_ENABLE_XFA
1199 class IFX_Unknown {
Lei Zhang 2015/10/30 06:15:30 I think we killed this on master.
1200 public:
1201 virtual ~IFX_Unknown() {}
1202 virtual FX_DWORD Release() = 0;
1203 virtual FX_DWORD AddRef() = 0;
1204 };
1205 #define FX_IsOdd(a) ((a)&1)
1206 #endif
1091 1207
1092 class CFX_Vector_3by1 { 1208 class CFX_Vector_3by1 {
1093 public: 1209 public:
1094 CFX_Vector_3by1() : a(0.0f), b(0.0f), c(0.0f) {} 1210 CFX_Vector_3by1() : a(0.0f), b(0.0f), c(0.0f) {}
1095 1211
1096 CFX_Vector_3by1(FX_FLOAT a1, FX_FLOAT b1, FX_FLOAT c1) 1212 CFX_Vector_3by1(FX_FLOAT a1, FX_FLOAT b1, FX_FLOAT c1)
1097 : a(a1), b(b1), c(c1) {} 1213 : a(a1), b(b1), c(c1) {}
1098 1214
1099 FX_FLOAT a; 1215 FX_FLOAT a;
1100 FX_FLOAT b; 1216 FX_FLOAT b;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 FX_FLOAT c; 1251 FX_FLOAT c;
1136 FX_FLOAT d; 1252 FX_FLOAT d;
1137 FX_FLOAT e; 1253 FX_FLOAT e;
1138 FX_FLOAT f; 1254 FX_FLOAT f;
1139 FX_FLOAT g; 1255 FX_FLOAT g;
1140 FX_FLOAT h; 1256 FX_FLOAT h;
1141 FX_FLOAT i; 1257 FX_FLOAT i;
1142 }; 1258 };
1143 1259
1144 #endif // CORE_INCLUDE_FXCRT_FX_BASIC_H_ 1260 #endif // CORE_INCLUDE_FXCRT_FX_BASIC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698