| OLD | NEW |
| 1 #ifndef __DEFINED__SkPdfStreamCommonDictionary | 1 #ifndef __DEFINED__SkPdfStreamCommonDictionary |
| 2 #define __DEFINED__SkPdfStreamCommonDictionary | 2 #define __DEFINED__SkPdfStreamCommonDictionary |
| 3 | 3 |
| 4 #include "SkPdfUtils.h" | 4 #include "SkPdfUtils.h" |
| 5 #include "SkPdfEnums_autogen.h" | 5 #include "SkPdfEnums_autogen.h" |
| 6 #include "SkPdfArray_autogen.h" | 6 #include "SkPdfArray_autogen.h" |
| 7 #include "SkPdfDictionary_autogen.h" | 7 #include "SkPdfDictionary_autogen.h" |
| 8 | 8 |
| 9 // Entries common to all stream dictionaries | 9 // Entries common to all stream dictionaries |
| 10 class SkPdfStreamCommonDictionary : public SkPdfDictionary { | 10 class SkPdfStreamCommonDictionary : public SkPdfDictionary { |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 * lowing the keyword stream to the last byte just before the keyword | 529 * lowing the keyword stream to the last byte just before the keyword |
| 530 * endstream. (There may be an additional EOL marker, preceding | 530 * endstream. (There may be an additional EOL marker, preceding |
| 531 * endstream, that is not included in the count and is not logically part | 531 * endstream, that is not included in the count and is not logically part |
| 532 * of the stream data.) See "Stream Extent," above, for further discus- | 532 * of the stream data.) See "Stream Extent," above, for further discus- |
| 533 * sion. | 533 * sion. |
| 534 **/ | 534 **/ |
| 535 bool has_Length() const { | 535 bool has_Length() const { |
| 536 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lengt
h", "", NULL)); | 536 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lengt
h", "", NULL)); |
| 537 } | 537 } |
| 538 | 538 |
| 539 long Length() const { | 539 long Length() const; |
| 540 long ret; | |
| 541 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length", ""
, &ret)) return ret; | |
| 542 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 543 return 0; | |
| 544 } | |
| 545 | |
| 546 /** (Optional) The name of a filter to be applied in processing the stream | 540 /** (Optional) The name of a filter to be applied in processing the stream |
| 547 * data found between the keywords stream and endstream, or an array | 541 * data found between the keywords stream and endstream, or an array |
| 548 * of such names. Multiple filters should be specified in the order in | 542 * of such names. Multiple filters should be specified in the order in |
| 549 * which they are to be applied. | 543 * which they are to be applied. |
| 550 **/ | 544 **/ |
| 551 bool has_Filter() const { | 545 bool has_Filter() const { |
| 552 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filte
r", "", NULL)); | 546 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filte
r", "", NULL)); |
| 553 } | 547 } |
| 554 | 548 |
| 555 bool isFilterAName() const { | 549 bool isFilterAName() const { |
| 556 SkPdfObject* ret = NULL; | 550 SkPdfObject* ret = NULL; |
| 557 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter",
"", &ret)) return false; | 551 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter",
"", &ret)) return false; |
| 558 return ret->podofo()->GetDataType() == ePdfDataType_Name; | 552 return ret->podofo()->GetDataType() == ePdfDataType_Name; |
| 559 } | 553 } |
| 560 | 554 |
| 561 std::string getFilterAsName() const { | 555 std::string getFilterAsName() const; |
| 562 std::string ret = ""; | |
| 563 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", ""
, &ret)) return ret; | |
| 564 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 565 return ""; | |
| 566 } | |
| 567 | |
| 568 bool isFilterAArray() const { | 556 bool isFilterAArray() const { |
| 569 SkPdfObject* ret = NULL; | 557 SkPdfObject* ret = NULL; |
| 570 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter",
"", &ret)) return false; | 558 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter",
"", &ret)) return false; |
| 571 return ret->podofo()->GetDataType() == ePdfDataType_Array; | 559 return ret->podofo()->GetDataType() == ePdfDataType_Array; |
| 572 } | 560 } |
| 573 | 561 |
| 574 SkPdfArray* getFilterAsArray() const { | 562 SkPdfArray* getFilterAsArray() const; |
| 575 SkPdfArray* ret = NULL; | |
| 576 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "
", &ret)) return ret; | |
| 577 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 578 return NULL; | |
| 579 } | |
| 580 | |
| 581 /** (Optional) A parameter dictionary, or an array of such dictionaries, | 563 /** (Optional) A parameter dictionary, or an array of such dictionaries, |
| 582 * used by the filters specified by Filter. If there is only one filter and tha
t | 564 * used by the filters specified by Filter. If there is only one filter and tha
t |
| 583 * filter has parameters, DecodeParms must be set to the filter's parame- | 565 * filter has parameters, DecodeParms must be set to the filter's parame- |
| 584 * ter dictionary unless all the filter's parameters have their default | 566 * ter dictionary unless all the filter's parameters have their default |
| 585 * values, in which case the DecodeParms entry may be omitted. If there | 567 * values, in which case the DecodeParms entry may be omitted. If there |
| 586 * are multiple filters and any of the filters has parameters set to non- | 568 * are multiple filters and any of the filters has parameters set to non- |
| 587 * default values, DecodeParms must be an array with one entry for | 569 * default values, DecodeParms must be an array with one entry for |
| 588 * each filter: either the parameter dictionary for that filter, or the null | 570 * each filter: either the parameter dictionary for that filter, or the null |
| 589 * object if that filter has no parameters (or if all of its parameters have | 571 * object if that filter has no parameters (or if all of its parameters have |
| 590 * their default values). If none of the filters have parameters, or if all | 572 * their default values). If none of the filters have parameters, or if all |
| 591 * their parameters have default values, the DecodeParms entry may be | 573 * their parameters have default values, the DecodeParms entry may be |
| 592 * omitted. (See implementation note 7 in Appendix H.) | 574 * omitted. (See implementation note 7 in Appendix H.) |
| 593 **/ | 575 **/ |
| 594 bool has_DecodeParms() const { | 576 bool has_DecodeParms() const { |
| 595 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decod
eParms", "", NULL)); | 577 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decod
eParms", "", NULL)); |
| 596 } | 578 } |
| 597 | 579 |
| 598 bool isDecodeParmsADictionary() const { | 580 bool isDecodeParmsADictionary() const { |
| 599 SkPdfObject* ret = NULL; | 581 SkPdfObject* ret = NULL; |
| 600 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodePa
rms", "", &ret)) return false; | 582 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodePa
rms", "", &ret)) return false; |
| 601 return ret->podofo()->GetDataType() == ePdfDataType_Dictionary; | 583 return ret->podofo()->GetDataType() == ePdfDataType_Dictionary; |
| 602 } | 584 } |
| 603 | 585 |
| 604 SkPdfDictionary* getDecodeParmsAsDictionary() const { | 586 SkPdfDictionary* getDecodeParmsAsDictionary() const; |
| 605 SkPdfDictionary* ret = NULL; | |
| 606 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decod
eParms", "", &ret)) return ret; | |
| 607 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 608 return NULL; | |
| 609 } | |
| 610 | |
| 611 bool isDecodeParmsAArray() const { | 587 bool isDecodeParmsAArray() const { |
| 612 SkPdfObject* ret = NULL; | 588 SkPdfObject* ret = NULL; |
| 613 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodePa
rms", "", &ret)) return false; | 589 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodePa
rms", "", &ret)) return false; |
| 614 return ret->podofo()->GetDataType() == ePdfDataType_Array; | 590 return ret->podofo()->GetDataType() == ePdfDataType_Array; |
| 615 } | 591 } |
| 616 | 592 |
| 617 SkPdfArray* getDecodeParmsAsArray() const { | 593 SkPdfArray* getDecodeParmsAsArray() const; |
| 618 SkPdfArray* ret = NULL; | |
| 619 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodeParm
s", "", &ret)) return ret; | |
| 620 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 621 return NULL; | |
| 622 } | |
| 623 | |
| 624 /** (Optional; PDF 1.2) The file containing the stream data. If this entry | 594 /** (Optional; PDF 1.2) The file containing the stream data. If this entry |
| 625 * is present, the bytes between stream and endstream are ignored, the | 595 * is present, the bytes between stream and endstream are ignored, the |
| 626 * filters are specified by FFilter rather than Filter, and the filter parame- | 596 * filters are specified by FFilter rather than Filter, and the filter parame- |
| 627 * ters are specified by FDecodeParms rather than DecodeParms. How- | 597 * ters are specified by FDecodeParms rather than DecodeParms. How- |
| 628 * ever, the Length entry should still specify the number of those bytes. | 598 * ever, the Length entry should still specify the number of those bytes. |
| 629 * (Usually there are no bytes and Length is 0.) | 599 * (Usually there are no bytes and Length is 0.) |
| 630 **/ | 600 **/ |
| 631 bool has_F() const { | 601 bool has_F() const { |
| 632 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "
", NULL)); | 602 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "
", NULL)); |
| 633 } | 603 } |
| 634 | 604 |
| 635 SkPdfFileSpec F() const { | 605 SkPdfFileSpec F() const; |
| 636 SkPdfFileSpec ret; | |
| 637 if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "",
&ret)) return ret; | |
| 638 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 639 return SkPdfFileSpec(); | |
| 640 } | |
| 641 | |
| 642 /** (Optional; PDF 1.2) The name of a filter to be applied in processing | 606 /** (Optional; PDF 1.2) The name of a filter to be applied in processing |
| 643 * the data found in the stream's external file, or an array of such names. | 607 * the data found in the stream's external file, or an array of such names. |
| 644 * The same rules apply as for Filter. | 608 * The same rules apply as for Filter. |
| 645 **/ | 609 **/ |
| 646 bool has_FFilter() const { | 610 bool has_FFilter() const { |
| 647 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilt
er", "", NULL)); | 611 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilt
er", "", NULL)); |
| 648 } | 612 } |
| 649 | 613 |
| 650 bool isFFilterAName() const { | 614 bool isFFilterAName() const { |
| 651 SkPdfObject* ret = NULL; | 615 SkPdfObject* ret = NULL; |
| 652 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter"
, "", &ret)) return false; | 616 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter"
, "", &ret)) return false; |
| 653 return ret->podofo()->GetDataType() == ePdfDataType_Name; | 617 return ret->podofo()->GetDataType() == ePdfDataType_Name; |
| 654 } | 618 } |
| 655 | 619 |
| 656 std::string getFFilterAsName() const { | 620 std::string getFFilterAsName() const; |
| 657 std::string ret = ""; | |
| 658 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter", "
", &ret)) return ret; | |
| 659 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 660 return ""; | |
| 661 } | |
| 662 | |
| 663 bool isFFilterAArray() const { | 621 bool isFFilterAArray() const { |
| 664 SkPdfObject* ret = NULL; | 622 SkPdfObject* ret = NULL; |
| 665 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter"
, "", &ret)) return false; | 623 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter"
, "", &ret)) return false; |
| 666 return ret->podofo()->GetDataType() == ePdfDataType_Array; | 624 return ret->podofo()->GetDataType() == ePdfDataType_Array; |
| 667 } | 625 } |
| 668 | 626 |
| 669 SkPdfArray* getFFilterAsArray() const { | 627 SkPdfArray* getFFilterAsArray() const; |
| 670 SkPdfArray* ret = NULL; | |
| 671 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter",
"", &ret)) return ret; | |
| 672 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 673 return NULL; | |
| 674 } | |
| 675 | |
| 676 /** (Optional; PDF 1.2) A parameter dictionary, or an array of such dic- | 628 /** (Optional; PDF 1.2) A parameter dictionary, or an array of such dic- |
| 677 * tionaries, used by the filters specified by FFilter. The same rules apply | 629 * tionaries, used by the filters specified by FFilter. The same rules apply |
| 678 * as for DecodeParms. | 630 * as for DecodeParms. |
| 679 **/ | 631 **/ |
| 680 bool has_FDecodeParms() const { | 632 bool has_FDecodeParms() const { |
| 681 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDeco
deParms", "", NULL)); | 633 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDeco
deParms", "", NULL)); |
| 682 } | 634 } |
| 683 | 635 |
| 684 bool isFDecodeParmsADictionary() const { | 636 bool isFDecodeParmsADictionary() const { |
| 685 SkPdfObject* ret = NULL; | 637 SkPdfObject* ret = NULL; |
| 686 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeP
arms", "", &ret)) return false; | 638 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeP
arms", "", &ret)) return false; |
| 687 return ret->podofo()->GetDataType() == ePdfDataType_Dictionary; | 639 return ret->podofo()->GetDataType() == ePdfDataType_Dictionary; |
| 688 } | 640 } |
| 689 | 641 |
| 690 SkPdfDictionary* getFDecodeParmsAsDictionary() const { | 642 SkPdfDictionary* getFDecodeParmsAsDictionary() const; |
| 691 SkPdfDictionary* ret = NULL; | |
| 692 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDeco
deParms", "", &ret)) return ret; | |
| 693 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 694 return NULL; | |
| 695 } | |
| 696 | |
| 697 bool isFDecodeParmsAArray() const { | 643 bool isFDecodeParmsAArray() const { |
| 698 SkPdfObject* ret = NULL; | 644 SkPdfObject* ret = NULL; |
| 699 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeP
arms", "", &ret)) return false; | 645 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeP
arms", "", &ret)) return false; |
| 700 return ret->podofo()->GetDataType() == ePdfDataType_Array; | 646 return ret->podofo()->GetDataType() == ePdfDataType_Array; |
| 701 } | 647 } |
| 702 | 648 |
| 703 SkPdfArray* getFDecodeParmsAsArray() const { | 649 SkPdfArray* getFDecodeParmsAsArray() const; |
| 704 SkPdfArray* ret = NULL; | |
| 705 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodePar
ms", "", &ret)) return ret; | |
| 706 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 707 return NULL; | |
| 708 } | |
| 709 | |
| 710 }; | 650 }; |
| 711 | 651 |
| 712 #endif // __DEFINED__SkPdfStreamCommonDictionary | 652 #endif // __DEFINED__SkPdfStreamCommonDictionary |
| OLD | NEW |