OLD | NEW |
---|---|
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #include "SkPDFCatalog.h" | 10 #include "SkPDFCatalog.h" |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
492 SkPDFName* SkPDFDict::Iter::next(SkPDFObject** value) { | 492 SkPDFName* SkPDFDict::Iter::next(SkPDFObject** value) { |
493 if (fIter != fStop) { | 493 if (fIter != fStop) { |
494 const Rec* cur = fIter; | 494 const Rec* cur = fIter; |
495 fIter++; | 495 fIter++; |
496 *value = cur->value; | 496 *value = cur->value; |
497 return cur->key; | 497 return cur->key; |
498 } | 498 } |
499 *value = NULL; | 499 *value = NULL; |
500 return NULL; | 500 return NULL; |
501 } | 501 } |
502 | |
503 /////////////////////////////////////////////////////////////////////////////// | |
504 SkPDFObject* SkPDFResourceDict::insertResource( | |
505 SkPDFName* type, SkPDFName* key, SkPDFObject* value) { | |
506 SkPDFDict* typeDict = getResourceTypeDict(type); | |
507 typeDict->insert(key, value); | |
508 return value; | |
509 } | |
510 | |
511 SkPDFObject* SkPDFResourceDict::insertResource( | |
512 const char type[], const char key[], SkPDFObject* value) { | |
513 return insertResource(new SkPDFName(type), new SkPDFName(key), value); | |
vandebo (ex-Chrome)
2013/07/09 17:47:44
SkNew should be used for new uses of "new"
ducky
2013/07/10 21:42:26
Ok. I've changed it for this file. Does this apply
vandebo (ex-Chrome)
2013/07/11 22:22:23
All new uses
| |
514 } | |
515 | |
516 SkPDFObject* SkPDFResourceDict::insertResourceAsRef( | |
517 const char type[], const char key[], SkPDFObject* value) { | |
518 SkAutoTUnref<SkPDFObjRef> ref( new SkPDFObjRef(value)); | |
519 insertResource(new SkPDFName(type), new SkPDFName(key), ref); | |
520 fResources.add(value); | |
521 | |
522 return value; | |
523 } | |
524 | |
525 void SkPDFResourceDict::getResources( | |
526 const SkTSet<SkPDFObject*>& knownResourceObjects, | |
527 SkTSet<SkPDFObject*>* newResourceObjects) { | |
528 GetResourcesHelper(&fResources.toArray(), | |
529 knownResourceObjects, | |
530 newResourceObjects); | |
531 } | |
532 | |
533 SkPDFDict* SkPDFResourceDict::getResourceTypeDict(SkPDFName* type) { | |
534 for (int i = 0; i < fTypes.count(); i++) { | |
535 if (*(fTypes[i].key) == *type) { | |
536 return fTypes[i].value; | |
537 } | |
538 } | |
539 | |
540 // If not found, create a new record. | |
541 struct DictRec* newEntry = fTypes.append(); | |
542 newEntry->key = type; | |
543 SkAutoTUnref<SkPDFDict> newDict(new SkPDFDict()); | |
544 newEntry->value = newDict; | |
545 insert(type, newDict); // ref counting handled in SkPDFDict::insert | |
546 return newDict.get(); | |
547 } | |
OLD | NEW |