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

Side by Side Diff: experimental/PdfViewer/autogen/SkPdfPageObjectDictionary_autogen.h

Issue 17856004: refactoring for pdf viewer lib (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 5 months 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 | Annotate | Revision Log
OLDNEW
1 #ifndef __DEFINED__SkPdfPageObjectDictionary 1 #ifndef __DEFINED__SkPdfPageObjectDictionary
2 #define __DEFINED__SkPdfPageObjectDictionary 2 #define __DEFINED__SkPdfPageObjectDictionary
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 in a page object 9 // Entries in a page object
10 class SkPdfPageObjectDictionary : public SkPdfDictionary { 10 class SkPdfPageObjectDictionary : public SkPdfDictionary {
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 525
526 SkPdfPageObjectDictionary& operator=(const SkPdfPageObjectDictionary& from) {t his->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *t his;} 526 SkPdfPageObjectDictionary& operator=(const SkPdfPageObjectDictionary& from) {t his->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *t his;}
527 527
528 /** (Required) The type of PDF object that this dictionary describes; must be 528 /** (Required) The type of PDF object that this dictionary describes; must be
529 * Page for a page object. 529 * Page for a page object.
530 **/ 530 **/
531 bool has_Type() const { 531 bool has_Type() const {
532 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL)); 532 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL));
533 } 533 }
534 534
535 std::string Type() const { 535 std::string Type() const;
536 std::string ret;
537 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
538 // TODO(edisonn): warn about missing required field, assert for known good p dfs
539 return "";
540 }
541
542 /** (Required; must be an indirect reference) The page tree node that is the im- 536 /** (Required; must be an indirect reference) The page tree node that is the im-
543 * mediate parent of this page object. 537 * mediate parent of this page object.
544 **/ 538 **/
545 bool has_Parent() const { 539 bool has_Parent() const {
546 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Paren t", "", NULL)); 540 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Paren t", "", NULL));
547 } 541 }
548 542
549 SkPdfDictionary* Parent() const { 543 SkPdfDictionary* Parent() const;
550 SkPdfDictionary* ret;
551 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Paren t", "", &ret)) return ret;
552 // TODO(edisonn): warn about missing required field, assert for known good p dfs
553 return NULL;
554 }
555
556 /** (Required if PieceInfo is present; optional otherwise; PDF 1.3) The date and 544 /** (Required if PieceInfo is present; optional otherwise; PDF 1.3) The date and
557 * time (see Section 3.8.2, "Dates") when the page's contents were most re- 545 * time (see Section 3.8.2, "Dates") when the page's contents were most re-
558 * cently modified. If a page-piece dictionary (PieceInfo) is present, the 546 * cently modified. If a page-piece dictionary (PieceInfo) is present, the
559 * modification date is used to ascertain which of the application data dic- 547 * modification date is used to ascertain which of the application data dic-
560 * tionaries that it contains correspond to the current content of the page 548 * tionaries that it contains correspond to the current content of the page
561 * (see Section 9.4, "Page-Piece Dictionaries"). 549 * (see Section 9.4, "Page-Piece Dictionaries").
562 **/ 550 **/
563 bool has_LastModified() const { 551 bool has_LastModified() const {
564 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastM odified", "", NULL)); 552 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastM odified", "", NULL));
565 } 553 }
566 554
567 SkPdfDate LastModified() const { 555 SkPdfDate LastModified() const;
568 SkPdfDate ret;
569 if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModifie d", "", &ret)) return ret;
570 // TODO(edisonn): warn about missing required field, assert for known good p dfs
571 return SkPdfDate();
572 }
573
574 /** (Required; inheritable) A dictionary containing any resources required by 556 /** (Required; inheritable) A dictionary containing any resources required by
575 * the page (see Section 3.7.2, "Resource Dictionaries"). If the page requires 557 * the page (see Section 3.7.2, "Resource Dictionaries"). If the page requires
576 * no resources, the value of this entry should be an empty dictionary; omit- 558 * no resources, the value of this entry should be an empty dictionary; omit-
577 * ting the entry entirely indicates that the resources are to be inherited fro m 559 * ting the entry entirely indicates that the resources are to be inherited fro m
578 * an ancestor node in the page tree. 560 * an ancestor node in the page tree.
579 **/ 561 **/
580 bool has_Resources() const { 562 bool has_Resources() const {
581 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", NULL)); 563 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", NULL));
582 } 564 }
583 565
584 SkPdfDictionary* Resources() const { 566 SkPdfDictionary* Resources() const;
585 SkPdfDictionary* ret;
586 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", &ret)) return ret;
587 // TODO(edisonn): warn about missing required field, assert for known good p dfs
588 return NULL;
589 }
590
591 /** (Required; inheritable) A rectangle (see Section 3.8.3, "Rectangles"), ex- 567 /** (Required; inheritable) A rectangle (see Section 3.8.3, "Rectangles"), ex-
592 * pressed in default user space units, defining the boundaries of the physical 568 * pressed in default user space units, defining the boundaries of the physical
593 * medium on which the page is intended to be displayed or printed (see 569 * medium on which the page is intended to be displayed or printed (see
594 * Section 9.10.1, "Page Boundaries"). 570 * Section 9.10.1, "Page Boundaries").
595 **/ 571 **/
596 bool has_MediaBox() const { 572 bool has_MediaBox() const {
597 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Media Box", "", NULL)); 573 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Media Box", "", NULL));
598 } 574 }
599 575
600 SkRect* MediaBox() const { 576 SkRect* MediaBox() const;
601 SkRect* ret;
602 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MediaBox" , "", &ret)) return ret;
603 // TODO(edisonn): warn about missing required field, assert for known good p dfs
604 return NULL;
605 }
606
607 /** (Optional; inheritable) A rectangle, expressed in default user space units, 577 /** (Optional; inheritable) A rectangle, expressed in default user space units,
608 * defining the visible region of default user space. When the page is dis- 578 * defining the visible region of default user space. When the page is dis-
609 * played or printed, its contents are to be clipped (cropped) to this rectangl e 579 * played or printed, its contents are to be clipped (cropped) to this rectangl e
610 * and then imposed on the output medium in some implementation- 580 * and then imposed on the output medium in some implementation-
611 * defined manner (see Section 9.10.1, "Page Boundaries"). Default value: 581 * defined manner (see Section 9.10.1, "Page Boundaries"). Default value:
612 * the value of MediaBox. 582 * the value of MediaBox.
613 **/ 583 **/
614 bool has_CropBox() const { 584 bool has_CropBox() const {
615 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropB ox", "", NULL)); 585 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropB ox", "", NULL));
616 } 586 }
617 587
618 SkRect* CropBox() const { 588 SkRect* CropBox() const;
619 SkRect* ret;
620 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", &ret)) return ret;
621 // TODO(edisonn): warn about missing required field, assert for known good p dfs
622 return NULL;
623 }
624
625 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de- 589 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
626 * fining the region to which the contents of the page should be clipped 590 * fining the region to which the contents of the page should be clipped
627 * when output in a production environment (see Section 9.10.1, "Page 591 * when output in a production environment (see Section 9.10.1, "Page
628 * Boundaries"). Default value: the value of CropBox. 592 * Boundaries"). Default value: the value of CropBox.
629 **/ 593 **/
630 bool has_BleedBox() const { 594 bool has_BleedBox() const {
631 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bleed Box", "", NULL)); 595 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bleed Box", "", NULL));
632 } 596 }
633 597
634 SkRect* BleedBox() const { 598 SkRect* BleedBox() const;
635 SkRect* ret;
636 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox" , "", &ret)) return ret;
637 // TODO(edisonn): warn about missing required field, assert for known good p dfs
638 return NULL;
639 }
640
641 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de- 599 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
642 * fining the intended dimensions of the finished page after trimming (see 600 * fining the intended dimensions of the finished page after trimming (see
643 * Section 9.10.1, "Page Boundaries"). Default value: the value of CropBox. 601 * Section 9.10.1, "Page Boundaries"). Default value: the value of CropBox.
644 **/ 602 **/
645 bool has_TrimBox() const { 603 bool has_TrimBox() const {
646 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimB ox", "", NULL)); 604 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimB ox", "", NULL));
647 } 605 }
648 606
649 SkRect* TrimBox() const { 607 SkRect* TrimBox() const;
650 SkRect* ret;
651 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", &ret)) return ret;
652 // TODO(edisonn): warn about missing required field, assert for known good p dfs
653 return NULL;
654 }
655
656 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de- 608 /** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
657 * fining the extent of the page's meaningful content (including potential 609 * fining the extent of the page's meaningful content (including potential
658 * white space) as intended by the page's creator (see Section 9.10.1, "Page 610 * white space) as intended by the page's creator (see Section 9.10.1, "Page
659 * Boundaries"). Default value: the value of CropBox. 611 * Boundaries"). Default value: the value of CropBox.
660 **/ 612 **/
661 bool has_ArtBox() const { 613 bool has_ArtBox() const {
662 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBo x", "", NULL)); 614 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBo x", "", NULL));
663 } 615 }
664 616
665 SkRect* ArtBox() const { 617 SkRect* ArtBox() const;
666 SkRect* ret;
667 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", &ret)) return ret;
668 // TODO(edisonn): warn about missing required field, assert for known good p dfs
669 return NULL;
670 }
671
672 /** (Optional) A box color information dictionary specifying the colors and 618 /** (Optional) A box color information dictionary specifying the colors and
673 * other visual characteristics to be used in displaying guidelines on the 619 * other visual characteristics to be used in displaying guidelines on the
674 * screen for the various page boundaries (see "Display of Page Boundaries" 620 * screen for the various page boundaries (see "Display of Page Boundaries"
675 * on page 679). If this entry is absent, the viewer application should use its 621 * on page 679). If this entry is absent, the viewer application should use its
676 * own current default settings. 622 * own current default settings.
677 **/ 623 **/
678 bool has_BoxColorInfo() const { 624 bool has_BoxColorInfo() const {
679 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxCo lorInfo", "", NULL)); 625 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxCo lorInfo", "", NULL));
680 } 626 }
681 627
682 SkPdfDictionary* BoxColorInfo() const { 628 SkPdfDictionary* BoxColorInfo() const;
683 SkPdfDictionary* ret;
684 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxCo lorInfo", "", &ret)) return ret;
685 // TODO(edisonn): warn about missing required field, assert for known good p dfs
686 return NULL;
687 }
688
689 /** (Optional) A content stream (see Section 3.7.1, "Content Streams") de- 629 /** (Optional) A content stream (see Section 3.7.1, "Content Streams") de-
690 * scribing the contents of this page. If this entry is absent, the page is emp ty. 630 * scribing the contents of this page. If this entry is absent, the page is emp ty.
691 * The value may be either a single stream or an array of streams. If it is an 631 * The value may be either a single stream or an array of streams. If it is an
692 * array, the effect is as if all of the streams in the array were concatenated , in 632 * array, the effect is as if all of the streams in the array were concatenated , in
693 * order, to form a single stream. This allows a program generating a PDF 633 * order, to form a single stream. This allows a program generating a PDF
694 * file to create image objects and other resources as they occur, even though 634 * file to create image objects and other resources as they occur, even though
695 * they interrupt the content stream. The division between streams may 635 * they interrupt the content stream. The division between streams may
696 * occur only at the boundaries between lexical tokens (see Section 3.1, "Lex- 636 * occur only at the boundaries between lexical tokens (see Section 3.1, "Lex-
697 * ical Conventions"), but is unrelated to the page's logical content or orga- 637 * ical Conventions"), but is unrelated to the page's logical content or orga-
698 * nization. Applications that consume or produce PDF files are not required 638 * nization. Applications that consume or produce PDF files are not required
699 * to preserve the existing structure of the Contents array. (See implementa- 639 * to preserve the existing structure of the Contents array. (See implementa-
700 * tion note 22 in Appendix H.) 640 * tion note 22 in Appendix H.)
701 **/ 641 **/
702 bool has_Contents() const { 642 bool has_Contents() const {
703 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Conte nts", "", NULL)); 643 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Conte nts", "", NULL));
704 } 644 }
705 645
706 bool isContentsAStream() const { 646 bool isContentsAStream() const {
707 SkPdfObject* ret = NULL; 647 SkPdfObject* ret = NULL;
708 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents ", "", &ret)) return false; 648 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents ", "", &ret)) return false;
709 return ret->podofo()->HasStream(); 649 return ret->podofo()->HasStream();
710 } 650 }
711 651
712 SkPdfStream* getContentsAsStream() const { 652 SkPdfStream* getContentsAsStream() const;
713 SkPdfStream* ret = NULL;
714 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents" , "", &ret)) return ret;
715 // TODO(edisonn): warn about missing required field, assert for known good p dfs
716 return NULL;
717 }
718
719 bool isContentsAArray() const { 653 bool isContentsAArray() const {
720 SkPdfObject* ret = NULL; 654 SkPdfObject* ret = NULL;
721 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents ", "", &ret)) return false; 655 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents ", "", &ret)) return false;
722 return ret->podofo()->GetDataType() == ePdfDataType_Array; 656 return ret->podofo()->GetDataType() == ePdfDataType_Array;
723 } 657 }
724 658
725 SkPdfArray* getContentsAsArray() const { 659 SkPdfArray* getContentsAsArray() const;
726 SkPdfArray* ret = NULL;
727 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
728 // TODO(edisonn): warn about missing required field, assert for known good p dfs
729 return NULL;
730 }
731
732 /** (Optional; inheritable) The number of degrees by which the page should 660 /** (Optional; inheritable) The number of degrees by which the page should
733 * be rotated clockwise when displayed or printed. The value must be a mul- 661 * be rotated clockwise when displayed or printed. The value must be a mul-
734 * tiple of 90. Default value: 0. 662 * tiple of 90. Default value: 0.
735 **/ 663 **/
736 bool has_Rotate() const { 664 bool has_Rotate() const {
737 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotat e", "", NULL)); 665 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotat e", "", NULL));
738 } 666 }
739 667
740 long Rotate() const { 668 long Rotate() const;
741 long ret;
742 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "" , &ret)) return ret;
743 // TODO(edisonn): warn about missing required field, assert for known good p dfs
744 return 0;
745 }
746
747 /** (Optional; PDF 1.4) A group attributes dictionary specifying the attributes 669 /** (Optional; PDF 1.4) A group attributes dictionary specifying the attributes
748 * of the page's page group for use in the transparent imaging model (see 670 * of the page's page group for use in the transparent imaging model (see
749 * Sections 7.3.6, "Page Group," and 7.5.5, "Transparency Group XObjects"). 671 * Sections 7.3.6, "Page Group," and 7.5.5, "Transparency Group XObjects").
750 **/ 672 **/
751 bool has_Group() const { 673 bool has_Group() const {
752 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", NULL)); 674 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", NULL));
753 } 675 }
754 676
755 SkPdfDictionary* Group() const { 677 SkPdfDictionary* Group() const;
756 SkPdfDictionary* ret;
757 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", &ret)) return ret;
758 // TODO(edisonn): warn about missing required field, assert for known good p dfs
759 return NULL;
760 }
761
762 /** (Optional) A stream object defining the page's thumbnail image (see Sec- 678 /** (Optional) A stream object defining the page's thumbnail image (see Sec-
763 * tion 8.2.3, "Thumbnail Images"). 679 * tion 8.2.3, "Thumbnail Images").
764 **/ 680 **/
765 bool has_Thumb() const { 681 bool has_Thumb() const {
766 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb ", "", NULL)); 682 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb ", "", NULL));
767 } 683 }
768 684
769 SkPdfStream* Thumb() const { 685 SkPdfStream* Thumb() const;
770 SkPdfStream* ret;
771 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb", " ", &ret)) return ret;
772 // TODO(edisonn): warn about missing required field, assert for known good p dfs
773 return NULL;
774 }
775
776 /** (Optional; PDF 1.1; recommended if the page contains article beads) An ar- 686 /** (Optional; PDF 1.1; recommended if the page contains article beads) An ar-
777 * ray of indirect references to article beads appearing on the page (see Sec- 687 * ray of indirect references to article beads appearing on the page (see Sec-
778 * tion 8.3.2, "Articles"; see also implementation note 23 in Appendix H). 688 * tion 8.3.2, "Articles"; see also implementation note 23 in Appendix H).
779 * The beads are listed in the array in natural reading order. 689 * The beads are listed in the array in natural reading order.
780 **/ 690 **/
781 bool has_B() const { 691 bool has_B() const {
782 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", " ", NULL)); 692 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", " ", NULL));
783 } 693 }
784 694
785 SkPdfArray* B() const { 695 SkPdfArray* B() const;
786 SkPdfArray* ret;
787 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &r et)) return ret;
788 // TODO(edisonn): warn about missing required field, assert for known good p dfs
789 return NULL;
790 }
791
792 /** (Optional; PDF 1.1) The page's display duration (also called its advance 696 /** (Optional; PDF 1.1) The page's display duration (also called its advance
793 * timing): the maximum length of time, in seconds, that the page will be 697 * timing): the maximum length of time, in seconds, that the page will be
794 * displayed during presentations before the viewer application automati- 698 * displayed during presentations before the viewer application automati-
795 * cally advances to the next page (see Section 8.3.3, "Presentations"). By 699 * cally advances to the next page (see Section 8.3.3, "Presentations"). By
796 * default, the viewer does not advance automatically. 700 * default, the viewer does not advance automatically.
797 **/ 701 **/
798 bool has_Dur() const { 702 bool has_Dur() const {
799 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", NULL)); 703 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", NULL));
800 } 704 }
801 705
802 double Dur() const { 706 double Dur() const;
803 double ret;
804 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", &ret)) return ret;
805 // TODO(edisonn): warn about missing required field, assert for known good p dfs
806 return 0;
807 }
808
809 /** (Optional; PDF 1.1) A transition dictionary describing the transition effect 707 /** (Optional; PDF 1.1) A transition dictionary describing the transition effect
810 * to be used when displaying the page during presentations (see Section 708 * to be used when displaying the page during presentations (see Section
811 * 8.3.3, "Presentations"). 709 * 8.3.3, "Presentations").
812 **/ 710 **/
813 bool has_Trans() const { 711 bool has_Trans() const {
814 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans ", "", NULL)); 712 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans ", "", NULL));
815 } 713 }
816 714
817 SkPdfDictionary* Trans() const { 715 SkPdfDictionary* Trans() const;
818 SkPdfDictionary* ret;
819 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans ", "", &ret)) return ret;
820 // TODO(edisonn): warn about missing required field, assert for known good p dfs
821 return NULL;
822 }
823
824 /** (Optional) An array of annotation dictionaries representing annotations 716 /** (Optional) An array of annotation dictionaries representing annotations
825 * associated with the page (see Section 8.4, "Annotations"). 717 * associated with the page (see Section 8.4, "Annotations").
826 **/ 718 **/
827 bool has_Annots() const { 719 bool has_Annots() const {
828 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annot s", "", NULL)); 720 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annot s", "", NULL));
829 } 721 }
830 722
831 SkPdfArray* Annots() const { 723 SkPdfArray* Annots() const;
832 SkPdfArray* ret;
833 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", " ", &ret)) return ret;
834 // TODO(edisonn): warn about missing required field, assert for known good p dfs
835 return NULL;
836 }
837
838 /** (Optional; PDF 1.2) An additional-actions dictionary defining actions to 724 /** (Optional; PDF 1.2) An additional-actions dictionary defining actions to
839 * be performed when the page is opened or closed (see Section 8.5.2, "Trig- 725 * be performed when the page is opened or closed (see Section 8.5.2, "Trig-
840 * ger Events"; see also implementation note 24 in Appendix H). 726 * ger Events"; see also implementation note 24 in Appendix H).
841 **/ 727 **/
842 bool has_AA() const { 728 bool has_AA() const {
843 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL)); 729 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
844 } 730 }
845 731
846 SkPdfDictionary* AA() const { 732 SkPdfDictionary* AA() const;
847 SkPdfDictionary* ret;
848 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
849 // TODO(edisonn): warn about missing required field, assert for known good p dfs
850 return NULL;
851 }
852
853 /** (Optional; PDF 1.4) A metadata stream containing metadata for the page 733 /** (Optional; PDF 1.4) A metadata stream containing metadata for the page
854 * (see Section 9.2.2, "Metadata Streams"). 734 * (see Section 9.2.2, "Metadata Streams").
855 **/ 735 **/
856 bool has_Metadata() const { 736 bool has_Metadata() const {
857 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metad ata", "", NULL)); 737 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metad ata", "", NULL));
858 } 738 }
859 739
860 SkPdfStream* Metadata() const { 740 SkPdfStream* Metadata() const;
861 SkPdfStream* ret;
862 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata" , "", &ret)) return ret;
863 // TODO(edisonn): warn about missing required field, assert for known good p dfs
864 return NULL;
865 }
866
867 /** (Optional; PDF 1.3) A page-piece dictionary associated with the page (see 741 /** (Optional; PDF 1.3) A page-piece dictionary associated with the page (see
868 * Section 9.4, "Page-Piece Dictionaries"). 742 * Section 9.4, "Page-Piece Dictionaries").
869 **/ 743 **/
870 bool has_PieceInfo() const { 744 bool has_PieceInfo() const {
871 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", NULL)); 745 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", NULL));
872 } 746 }
873 747
874 SkPdfDictionary* PieceInfo() const { 748 SkPdfDictionary* PieceInfo() const;
875 SkPdfDictionary* ret;
876 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", &ret)) return ret;
877 // TODO(edisonn): warn about missing required field, assert for known good p dfs
878 return NULL;
879 }
880
881 /** (Required if the page contains structural content items; PDF 1.3) The inte- 749 /** (Required if the page contains structural content items; PDF 1.3) The inte-
882 * ger key of the page's entry in the structural parent tree (see "Finding Stru c- 750 * ger key of the page's entry in the structural parent tree (see "Finding Stru c-
883 * ture Elements from Content Items" on page 600). 751 * ture Elements from Content Items" on page 600).
884 **/ 752 **/
885 bool has_StructParents() const { 753 bool has_StructParents() const {
886 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParents", "", NULL)); 754 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParents", "", NULL));
887 } 755 }
888 756
889 long StructParents() const { 757 long StructParents() const;
890 long ret;
891 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParen ts", "", &ret)) return ret;
892 // TODO(edisonn): warn about missing required field, assert for known good p dfs
893 return 0;
894 }
895
896 /** (Optional; PDF 1.3; indirect reference preferred) The digital identifier of the 758 /** (Optional; PDF 1.3; indirect reference preferred) The digital identifier of the
897 * page's parent Web Capture content set (see Section 9.9.5, "Object At- 759 * page's parent Web Capture content set (see Section 9.9.5, "Object At-
898 * tributes Related to Web Capture"). 760 * tributes Related to Web Capture").
899 **/ 761 **/
900 bool has_ID() const { 762 bool has_ID() const {
901 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL)); 763 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
902 } 764 }
903 765
904 std::string ID() const { 766 std::string ID() const;
905 std::string ret;
906 if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
907 // TODO(edisonn): warn about missing required field, assert for known good p dfs
908 return "";
909 }
910
911 /** (Optional; PDF 1.3) The page's preferred zoom (magnification) factor: the 767 /** (Optional; PDF 1.3) The page's preferred zoom (magnification) factor: the
912 * factor by which it should be scaled to achieve the "natural" display magni- 768 * factor by which it should be scaled to achieve the "natural" display magni-
913 * fication (see Section 9.9.5, "Object Attributes Related to Web Capture"). 769 * fication (see Section 9.9.5, "Object Attributes Related to Web Capture").
914 **/ 770 **/
915 bool has_PZ() const { 771 bool has_PZ() const {
916 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", NULL)); 772 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", NULL));
917 } 773 }
918 774
919 double PZ() const { 775 double PZ() const;
920 double ret;
921 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", &ret)) return ret;
922 // TODO(edisonn): warn about missing required field, assert for known good p dfs
923 return 0;
924 }
925
926 /** (Optional; PDF 1.3) A separation dictionary containing information need- 776 /** (Optional; PDF 1.3) A separation dictionary containing information need-
927 * ed to generate color separations for the page (see Section 9.10.3, "Separa- 777 * ed to generate color separations for the page (see Section 9.10.3, "Separa-
928 * tion Dictionaries"). 778 * tion Dictionaries").
929 **/ 779 **/
930 bool has_SeparationInfo() const { 780 bool has_SeparationInfo() const {
931 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Separ ationInfo", "", NULL)); 781 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Separ ationInfo", "", NULL));
932 } 782 }
933 783
934 SkPdfDictionary* SeparationInfo() const { 784 SkPdfDictionary* SeparationInfo() const;
935 SkPdfDictionary* ret;
936 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Separ ationInfo", "", &ret)) return ret;
937 // TODO(edisonn): warn about missing required field, assert for known good p dfs
938 return NULL;
939 }
940
941 }; 785 };
942 786
943 #endif // __DEFINED__SkPdfPageObjectDictionary 787 #endif // __DEFINED__SkPdfPageObjectDictionary
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698