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

Side by Side Diff: experimental/PdfViewer/SkPdfBlockLevelStructureElementsDictionary_autogen.h

Issue 16975013: Deal with ca and CA transparency operators in pdf. add comments to generated classes. (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 6 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__SkPdfBlockLevelStructureElementsDictionary 1 #ifndef __DEFINED__SkPdfBlockLevelStructureElementsDictionary
2 #define __DEFINED__SkPdfBlockLevelStructureElementsDictionary 2 #define __DEFINED__SkPdfBlockLevelStructureElementsDictionary
3 3
4 #include "SkPdfEnums_autogen.h" 4 #include "SkPdfEnums_autogen.h"
5 #include "SkPdfArray_autogen.h" 5 #include "SkPdfArray_autogen.h"
6 #include "SkPdfDictionary_autogen.h" 6 #include "SkPdfDictionary_autogen.h"
7 7
8 // Additional standard layout attributes specific to block-level structure eleme nts
8 class SkPdfBlockLevelStructureElementsDictionary : public SkPdfDictionary { 9 class SkPdfBlockLevelStructureElementsDictionary : public SkPdfDictionary {
9 public: 10 public:
10 virtual SkPdfObjectType getType() const { return kBlockLevelStructureElementsD ictionary_SkPdfObjectType;} 11 virtual SkPdfObjectType getType() const { return kBlockLevelStructureElementsD ictionary_SkPdfObjectType;}
11 virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kBlockLe velStructureElementsDictionary_SkPdfObjectType + 1);} 12 virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kBlockLe velStructureElementsDictionary_SkPdfObjectType + 1);}
12 public: 13 public:
13 virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureEleme ntsDictionary() {return this;} 14 virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureEleme ntsDictionary() {return this;}
14 virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructur eElementsDictionary() const {return this;} 15 virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructur eElementsDictionary() const {return this;}
15 16
16 private: 17 private:
17 virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;} 18 virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 515
515 public: 516 public:
516 private: 517 private:
517 public: 518 public:
518 SkPdfBlockLevelStructureElementsDictionary(const PdfMemDocument* podofoDoc = N ULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {} 519 SkPdfBlockLevelStructureElementsDictionary(const PdfMemDocument* podofoDoc = N ULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
519 520
520 virtual bool valid() const {return true;} 521 virtual bool valid() const {return true;}
521 522
522 SkPdfBlockLevelStructureElementsDictionary& operator=(const SkPdfBlockLevelStr uctureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodo foObj = from.fPodofoObj; return *this;} 523 SkPdfBlockLevelStructureElementsDictionary& operator=(const SkPdfBlockLevelStr uctureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodo foObj = from.fPodofoObj; return *this;}
523 524
525 /** (Optional) The amount of extra space preceding the before edge of the BLSE,
526 * measured in default user space units in the block-progression direction. Thi s
527 * value is added to any adjustments induced by the LineHeight attributes of
528 * ILSEs within the first line of the BLSE (see "Layout Attributes for ILSEs" o n
529 * page 646). If the preceding BLSE has a SpaceAfter attribute, the greater of the
530 * two attribute values is used. Default value: 0.
531 * Note: This attribute is disregarded for the first BLSE placed in a given ref erence
532 * area.
533 **/
534 bool has_SpaceBefore() const {
535 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Space Before", "", NULL));
536 }
537
524 double SpaceBefore() const { 538 double SpaceBefore() const {
525 double ret; 539 double ret;
526 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceBefo re", "", &ret)) return ret; 540 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceBefo re", "", &ret)) return ret;
527 // TODO(edisonn): warn about missing required field, assert for known good p dfs 541 // TODO(edisonn): warn about missing required field, assert for known good p dfs
528 return 0; 542 return 0;
529 } 543 }
530 544
545 /** (Optional) The amount of extra space following the after edge of the BLSE,
546 * measured in default user space units in the block-progression direction. Thi s
547 * value is added to any adjustments induced by the LineHeight attributes of
548 * ILSEs within the last line of the BLSE (see "Layout Attributes for ILSEs" on
549 * page 646). If the following BLSE has a SpaceBefore attribute, the greater of
550 * the two attribute values is used. Default value: 0.
551 * Note: This attribute is disregarded for the last BLSE placed in a given refe rence
552 * area.
553 **/
554 bool has_SpaceAfter() const {
555 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Space After", "", NULL));
556 }
557
531 double SpaceAfter() const { 558 double SpaceAfter() const {
532 double ret; 559 double ret;
533 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceAfte r", "", &ret)) return ret; 560 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceAfte r", "", &ret)) return ret;
534 // TODO(edisonn): warn about missing required field, assert for known good p dfs 561 // TODO(edisonn): warn about missing required field, assert for known good p dfs
535 return 0; 562 return 0;
536 } 563 }
537 564
565 /** (Optional) The distance from the start edge of the reference area to that of the
566 * BLSE, measured in default user space units in the inline-progression direc-
567 * tion. This attribute applies only to structure elements with a Placement
568 * attribute of Block or Start (see "General Layout Attributes" on page 640); i t is
569 * disregarded for those with other Placement values. Default value: 0.
570 * Note: A negative value for this attribute places the start edge of the BLSE out-
571 * side that of the reference area. The results are implementation-dependent an d
572 * may not be supported by all Tagged PDF consumer applications or export
573 * formats.
574 * Note: If a structure element with a StartIndent attribute is placed adjacent to a
575 * floating element with a Placement attribute of Start, the actual value used for
576 * the element's starting indent will be its own StartIndent attribute or the i nline
577 * extent of the adjacent floating element, whichever is greater. This value ma y
578 * then be further adjusted by the element's TextIndent attribute, if any.
579 **/
580 bool has_StartIndent() const {
581 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Start Indent", "", NULL));
582 }
583
538 double StartIndent() const { 584 double StartIndent() const {
539 double ret; 585 double ret;
540 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StartInde nt", "", &ret)) return ret; 586 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StartInde nt", "", &ret)) return ret;
541 // TODO(edisonn): warn about missing required field, assert for known good p dfs 587 // TODO(edisonn): warn about missing required field, assert for known good p dfs
542 return 0; 588 return 0;
543 } 589 }
544 590
591 /** (Optional) The distance from the end edge of the BLSE to that of the ref-
592 * erence area, measured in default user space units in the inline-progression
593 * direction. This attribute applies only to structure elements with a Placemen t
594 * attribute of Block or End (see "General Layout Attributes" on page 640); it is
595 * disregarded for those with other Placement values. Default value: 0.
596 * Note: A negative value for this attribute places the end edge of the BLSE ou tside
597 * that of the reference area. The results are implementation-dependent and may
598 * not be supported by all Tagged PDF consumer applications or export formats.
599 * Note: If a structure element with an EndIndent attribute is placed adjacent to a
600 * floating element with a Placement attribute of End, the actual value used fo r the
601 * element's ending indent will be its own EndIndent attribute or the inline ex tent
602 * of the adjacent floating element, whichever is greater.
603 **/
604 bool has_EndIndent() const {
605 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIn dent", "", NULL));
606 }
607
545 double EndIndent() const { 608 double EndIndent() const {
546 double ret; 609 double ret;
547 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIndent ", "", &ret)) return ret; 610 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIndent ", "", &ret)) return ret;
548 // TODO(edisonn): warn about missing required field, assert for known good p dfs 611 // TODO(edisonn): warn about missing required field, assert for known good p dfs
549 return 0; 612 return 0;
550 } 613 }
551 614
615 /** (Optional; applies only to some BLSEs, as described below) The additional
616 * distance, measured in default user space units in the inline-progression
617 * direction, from the start edge of the BLSE, as specified by StartIndent
618 * (above), to that of the first line of text. A negative value indicates a han ging
619 * indent. Default value: 0.
620 * This attribute applies only to paragraphlike BLSEs and those of structure
621 * types Lbl (Label), LBody (List body), TH (Table header), and TD (Table data) ,
622 * provided that they contain content other than nested BLSEs.
623 **/
624 bool has_TextIndent() const {
625 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextI ndent", "", NULL));
626 }
627
552 double TextIndent() const { 628 double TextIndent() const {
553 double ret; 629 double ret;
554 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextInden t", "", &ret)) return ret; 630 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextInden t", "", &ret)) return ret;
555 // TODO(edisonn): warn about missing required field, assert for known good p dfs 631 // TODO(edisonn): warn about missing required field, assert for known good p dfs
556 return 0; 632 return 0;
557 } 633 }
558 634
635 /** (Optional; applies only to BLSEs containing text) The alignment, in the inli ne-
636 * progression direction, of text and other content within lines of the BLSE:
637 * Start Aligned with the start edge.
638 * Center Centered between the start and end edges.
639 * End Aligned with the end edge.
640 * Justify Aligned with both the start and end edges, with internal
641 * spacing within each line expanded, if necessary, to achieve
642 * such alignment. The last (or only) line is aligned with the
643 * start edge only, as for Start (above).
644 * Default value: Start.
645 **/
646 bool has_TextAlign() const {
647 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextA lign", "", NULL));
648 }
649
559 std::string TextAlign() const { 650 std::string TextAlign() const {
560 std::string ret; 651 std::string ret;
561 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextAlign", "", &ret)) return ret; 652 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextAlign", "", &ret)) return ret;
562 // TODO(edisonn): warn about missing required field, assert for known good p dfs 653 // TODO(edisonn): warn about missing required field, assert for known good p dfs
563 return ""; 654 return "";
564 } 655 }
565 656
657 /** (Illustrations and tables only; required if the element appears in its entir ety on a
658 * single page) An array of four numbers in default user space units giving the
659 * coordinates of the left, bottom, right, and top edges, respectively, of the ele-
660 * ment's bounding box (the rectangle that completely encloses its visible con-
661 * tent). This attribute applies only to elements of structure type Figure,
662 * Formula, Form, or Table.
663 **/
664 bool has_BBox() const {
665 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox" , "", NULL));
666 }
667
566 SkRect BBox() const { 668 SkRect BBox() const {
567 SkRect ret; 669 SkRect ret;
568 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "" , &ret)) return ret; 670 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "" , &ret)) return ret;
569 // TODO(edisonn): warn about missing required field, assert for known good p dfs 671 // TODO(edisonn): warn about missing required field, assert for known good p dfs
570 return SkRect(); 672 return SkRect();
571 } 673 }
572 674
675 /** (Optional; illustrations, tables, table headers, and table cells only; stron gly
676 * recommended for table cells) The desired width of the element's content
677 * rectangle (see "Content and Allocation Rectangles" on page 648), measured
678 * in default user space units in the inline-progression direction. This attrib ute
679 * applies only to elements of structure type Figure, Formula, Form, Table, TH
680 * (Table header), or TD (Table data).
681 * The name Auto in place of a numeric value indicates that no specific width
682 * constraint is to be imposed; the element's width is determined by the intrin -
683 * sic width of its content. Default value: Auto.
684 **/
685 bool has_Width() const {
686 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width ", "", NULL));
687 }
688
573 bool isWidthANumber() const { 689 bool isWidthANumber() const {
574 SkPdfObject* ret = NULL; 690 SkPdfObject* ret = NULL;
575 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false; 691 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false;
576 return ret->podofo()->GetDataType() == ePdfDataType_Real || ret->podofo()->G etDataType() == ePdfDataType_Number; 692 return ret->podofo()->GetDataType() == ePdfDataType_Real || ret->podofo()->G etDataType() == ePdfDataType_Number;
577 } 693 }
578 694
579 double getWidthAsNumber() const { 695 double getWidthAsNumber() const {
580 double ret = 0; 696 double ret = 0;
581 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", " ", &ret)) return ret; 697 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", " ", &ret)) return ret;
582 // TODO(edisonn): warn about missing required field, assert for known good p dfs 698 // TODO(edisonn): warn about missing required field, assert for known good p dfs
583 return 0; 699 return 0;
584 } 700 }
585 701
586 bool isWidthAName() const { 702 bool isWidthAName() const {
587 SkPdfObject* ret = NULL; 703 SkPdfObject* ret = NULL;
588 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false; 704 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false;
589 return ret->podofo()->GetDataType() == ePdfDataType_Name; 705 return ret->podofo()->GetDataType() == ePdfDataType_Name;
590 } 706 }
591 707
592 std::string getWidthAsName() const { 708 std::string getWidthAsName() const {
593 std::string ret = ""; 709 std::string ret = "";
594 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret; 710 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
595 // TODO(edisonn): warn about missing required field, assert for known good p dfs 711 // TODO(edisonn): warn about missing required field, assert for known good p dfs
596 return ""; 712 return "";
597 } 713 }
598 714
715 /** (Optional; illustrations, tables, table headers, and table cells only) The d esired
716 * height of the element's content rectangle (see "Content and Allocation
717 * Rectangles" on page 648), measured in default user space units in the block-
718 * progression direction. This attribute applies only to elements of structure
719 * type Figure, Formula, Form, Table, TH (Table header), or TD (Table data).
720 * The name Auto in place of a numeric value indicates that no specific height
721 * constraint is to be imposed; the element's height is determined by the intri n-
722 * sic height of its content. Default value: Auto.
723 **/
724 bool has_Height() const {
725 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Heigh t", "", NULL));
726 }
727
599 bool isHeightANumber() const { 728 bool isHeightANumber() const {
600 SkPdfObject* ret = NULL; 729 SkPdfObject* ret = NULL;
601 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false; 730 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false;
602 return ret->podofo()->GetDataType() == ePdfDataType_Real || ret->podofo()->G etDataType() == ePdfDataType_Number; 731 return ret->podofo()->GetDataType() == ePdfDataType_Real || ret->podofo()->G etDataType() == ePdfDataType_Number;
603 } 732 }
604 733
605 double getHeightAsNumber() const { 734 double getHeightAsNumber() const {
606 double ret = 0; 735 double ret = 0;
607 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret; 736 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
608 // TODO(edisonn): warn about missing required field, assert for known good p dfs 737 // TODO(edisonn): warn about missing required field, assert for known good p dfs
609 return 0; 738 return 0;
610 } 739 }
611 740
612 bool isHeightAName() const { 741 bool isHeightAName() const {
613 SkPdfObject* ret = NULL; 742 SkPdfObject* ret = NULL;
614 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false; 743 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false;
615 return ret->podofo()->GetDataType() == ePdfDataType_Name; 744 return ret->podofo()->GetDataType() == ePdfDataType_Name;
616 } 745 }
617 746
618 std::string getHeightAsName() const { 747 std::string getHeightAsName() const {
619 std::string ret = ""; 748 std::string ret = "";
620 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "" , &ret)) return ret; 749 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "" , &ret)) return ret;
621 // TODO(edisonn): warn about missing required field, assert for known good p dfs 750 // TODO(edisonn): warn about missing required field, assert for known good p dfs
622 return ""; 751 return "";
623 } 752 }
624 753
754 /** (Optional; table cells only) The alignment, in the block-progression directi on,
755 * of content within the table cell:
756 * Before Before edge of the first child's allocation rectangle ali gned
757 * with that of the table cell's content rectangle.
758 * Middle Children centered within the table cell, so that the dist ance
759 * between the before edge of the first child's allocation r ec-
760 * tangle and that of the table cell's content rectangle is the same
761 * as the distance between the after edge of the last child' s allo-
762 * cation rectangle and that of the table cell's content rec tangle.
763 * After After edge of the last child's allocation rectangle align ed with
764 * that of the table cell's content rectangle.
765 * Justify Children aligned with both the before and after edges of the
766 * table cell's content rectangle. The first child is placed as
767 * described above for Before and the last child as describe d for
768 * After, with equal spacing between the children. If there is only
769 * one child, it is aligned with the before edge only, as fo r Before.
770 * This attribute applies only to elements of structure type TH (Table header) or
771 * TD (Table data), and controls the placement of all BLSEs that are children of
772 * the given element. The table cell's content rectangle (see "Content and All o-
773 * cation Rectangles" on page 648) becomes the reference area for all of its
774 * descendants. Default value: Before.
775 **/
776 bool has_BlockAlign() const {
777 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Block Align", "", NULL));
778 }
779
625 std::string BlockAlign() const { 780 std::string BlockAlign() const {
626 std::string ret; 781 std::string ret;
627 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlockAlign" , "", &ret)) return ret; 782 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlockAlign" , "", &ret)) return ret;
628 // TODO(edisonn): warn about missing required field, assert for known good p dfs 783 // TODO(edisonn): warn about missing required field, assert for known good p dfs
629 return ""; 784 return "";
630 } 785 }
631 786
787 /** (Optional; table cells only) The alignment, in the inline-progression direct ion,
788 * of content within the table cell:
789 * Start Start edge of each child's allocation rectangle aligned wit h
790 * that of the table cell's content rectangle
791 * Center Each child centered within the table cell, so that the dist ance
792 * between the start edges of the child's allocation rectangle and
793 * the table cell's content rectangle is the same as the dista nce
794 * between their end edges
795 * End End edge of each child's allocation rectangle aligned with
796 * that of the table cell's content rectangle
797 * This attribute applies only to elements of structure type TH (Table header) or
798 * TD (Table data), and controls the placement of all BLSEs that are children o f
799 * the given element. The table cell's content rectangle (see "Content and Allo -
800 * cation Rectangles" on page 648) becomes the reference area for all of its
801 * descendants. Default value: Start.
802 **/
803 bool has_InlineAlign() const {
804 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Inlin eAlign", "", NULL));
805 }
806
632 std::string InlineAlign() const { 807 std::string InlineAlign() const {
633 std::string ret; 808 std::string ret;
634 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InlineAlign ", "", &ret)) return ret; 809 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InlineAlign ", "", &ret)) return ret;
635 // TODO(edisonn): warn about missing required field, assert for known good p dfs 810 // TODO(edisonn): warn about missing required field, assert for known good p dfs
636 return ""; 811 return "";
637 } 812 }
638 813
639 }; 814 };
640 815
641 #endif // __DEFINED__SkPdfBlockLevelStructureElementsDictionary 816 #endif // __DEFINED__SkPdfBlockLevelStructureElementsDictionary
OLDNEW
« no previous file with comments | « experimental/PdfViewer/SkPdfBeadDictionary_autogen.h ('k') | experimental/PdfViewer/SkPdfBorderStyleDictionary_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698