OLD | NEW |
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 _FX_BASIC_H_ | 7 #ifndef _FX_BASIC_H_ |
8 #define _FX_BASIC_H_ | 8 #define _FX_BASIC_H_ |
9 | 9 |
10 #include "fx_memory.h" | 10 #include "fx_memory.h" |
(...skipping 1253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1264 } | 1264 } |
1265 } | 1265 } |
1266 | 1266 |
1267 ObjClass* New() | 1267 ObjClass* New() |
1268 { | 1268 { |
1269 if (m_pObject) { | 1269 if (m_pObject) { |
1270 m_pObject->m_RefCount --; | 1270 m_pObject->m_RefCount --; |
1271 if (m_pObject->m_RefCount <= 0) { | 1271 if (m_pObject->m_RefCount <= 0) { |
1272 delete m_pObject; | 1272 delete m_pObject; |
1273 } | 1273 } |
1274 m_pObject = NULL; | |
1275 } | 1274 } |
1276 m_pObject = FX_NEW CountedObj; | 1275 m_pObject = new CountedObj; |
1277 if (!m_pObject) { | |
1278 return NULL; | |
1279 } | |
1280 m_pObject->m_RefCount = 1; | 1276 m_pObject->m_RefCount = 1; |
1281 return m_pObject; | 1277 return m_pObject; |
1282 } | 1278 } |
1283 | 1279 |
1284 void operator = (const Ref& ref) | 1280 void operator = (const Ref& ref) |
1285 { | 1281 { |
1286 if (ref.m_pObject) { | 1282 if (ref.m_pObject) { |
1287 ref.m_pObject->m_RefCount ++; | 1283 ref.m_pObject->m_RefCount ++; |
1288 } | 1284 } |
1289 if (m_pObject) { | 1285 if (m_pObject) { |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1324 } | 1320 } |
1325 | 1321 |
1326 FX_BOOL NotNull() const | 1322 FX_BOOL NotNull() const |
1327 { | 1323 { |
1328 return m_pObject != NULL; | 1324 return m_pObject != NULL; |
1329 } | 1325 } |
1330 | 1326 |
1331 ObjClass* GetModify() | 1327 ObjClass* GetModify() |
1332 { | 1328 { |
1333 if (m_pObject == NULL) { | 1329 if (m_pObject == NULL) { |
1334 m_pObject = FX_NEW CountedObj; | 1330 m_pObject = new CountedObj; |
1335 if (m_pObject) { | 1331 m_pObject->m_RefCount = 1; |
1336 m_pObject->m_RefCount = 1; | |
1337 } | |
1338 } else if (m_pObject->m_RefCount > 1) { | 1332 } else if (m_pObject->m_RefCount > 1) { |
1339 m_pObject->m_RefCount --; | 1333 m_pObject->m_RefCount --; |
1340 CountedObj* pOldObject = m_pObject; | 1334 CountedObj* pOldObject = m_pObject; |
1341 m_pObject = NULL; | 1335 m_pObject = new CountedObj(*pOldObject); |
1342 m_pObject = FX_NEW CountedObj(*pOldObject); | 1336 m_pObject->m_RefCount = 1; |
1343 if (m_pObject) { | |
1344 m_pObject->m_RefCount = 1; | |
1345 } | |
1346 } | 1337 } |
1347 return m_pObject; | 1338 return m_pObject; |
1348 } | 1339 } |
1349 | 1340 |
1350 void SetNull() | 1341 void SetNull() |
1351 { | 1342 { |
1352 if (m_pObject == NULL) { | 1343 if (m_pObject == NULL) { |
1353 return; | 1344 return; |
1354 } | 1345 } |
1355 m_pObject->m_RefCount --; | 1346 m_pObject->m_RefCount --; |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1642 FX_FLOAT c; | 1633 FX_FLOAT c; |
1643 FX_FLOAT d; | 1634 FX_FLOAT d; |
1644 FX_FLOAT e; | 1635 FX_FLOAT e; |
1645 FX_FLOAT f; | 1636 FX_FLOAT f; |
1646 FX_FLOAT g; | 1637 FX_FLOAT g; |
1647 FX_FLOAT h; | 1638 FX_FLOAT h; |
1648 FX_FLOAT i; | 1639 FX_FLOAT i; |
1649 }; | 1640 }; |
1650 | 1641 |
1651 #endif | 1642 #endif |
OLD | NEW |