OLD | NEW |
1 #ifndef __DEFINED__SkPdfStandardStructureDictionary | 1 #ifndef __DEFINED__SkPdfStandardStructureDictionary |
2 #define __DEFINED__SkPdfStandardStructureDictionary | 2 #define __DEFINED__SkPdfStandardStructureDictionary |
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 // Standard layout attributes common to all standard structure types | 9 // Standard layout attributes common to all standard structure types |
10 class SkPdfStandardStructureDictionary : public SkPdfDictionary { | 10 class SkPdfStandardStructureDictionary : public SkPdfDictionary { |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 * reference area, or placed serially against the edge, in the order encountere
d. | 562 * reference area, or placed serially against the edge, in the order encountere
d. |
563 * Complex cases such as floating elements that interfere with each other
or do not | 563 * Complex cases such as floating elements that interfere with each other
or do not |
564 * fit on the same page may be handled differently by different layout app
lications; | 564 * fit on the same page may be handled differently by different layout app
lications; |
565 * Tagged PDF merely identifies the elements as floating and indicates the
ir desired | 565 * Tagged PDF merely identifies the elements as floating and indicates the
ir desired |
566 * placement. | 566 * placement. |
567 **/ | 567 **/ |
568 bool has_Placement() const { | 568 bool has_Placement() const { |
569 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Place
ment", "", NULL)); | 569 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Place
ment", "", NULL)); |
570 } | 570 } |
571 | 571 |
572 std::string Placement() const { | 572 std::string Placement() const; |
573 std::string ret; | |
574 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Placement",
"", &ret)) return ret; | |
575 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
576 return ""; | |
577 } | |
578 | |
579 /** (Optional) The directions of layout progression for packing of ILSEs (inline | 573 /** (Optional) The directions of layout progression for packing of ILSEs (inline |
580 * progression) and stacking of BLSEs (block progression): | 574 * progression) and stacking of BLSEs (block progression): |
581 * LrTb Inline progression from left to right; block progression fr
om | 575 * LrTb Inline progression from left to right; block progression fr
om |
582 * top to bottom. This is the typical writing mode for Western | 576 * top to bottom. This is the typical writing mode for Western |
583 * writing systems. | 577 * writing systems. |
584 * RlTb Inline progression from right to left; block progression fr
om | 578 * RlTb Inline progression from right to left; block progression fr
om |
585 * top to bottom. This is the typical writing mode for Arabic | 579 * top to bottom. This is the typical writing mode for Arabic |
586 * and Hebrew writing systems. | 580 * and Hebrew writing systems. |
587 * TbRl Inline progression from top to bottom; block progression | 581 * TbRl Inline progression from top to bottom; block progression |
588 * from right to left. This is the typical writing mode for Ch
i- | 582 * from right to left. This is the typical writing mode for Ch
i- |
589 * nese and Japanese writing systems. | 583 * nese and Japanese writing systems. |
590 * The specified layout directions apply to the given structure element and all
of | 584 * The specified layout directions apply to the given structure element and all
of |
591 * its descendants to any level of nesting. Default value: LrTb. | 585 * its descendants to any level of nesting. Default value: LrTb. |
592 * For elements that produce multiple columns, the writing mode defines the | 586 * For elements that produce multiple columns, the writing mode defines the |
593 * direction of column progression within the reference area: the inline direc- | 587 * direction of column progression within the reference area: the inline direc- |
594 * tion determines the stacking direction for columns and the default flow | 588 * tion determines the stacking direction for columns and the default flow |
595 * order of text from column to column. For tables, the writing mode controls | 589 * order of text from column to column. For tables, the writing mode controls |
596 * the layout of rows and columns: table rows (structure type TR) are stacked | 590 * the layout of rows and columns: table rows (structure type TR) are stacked |
597 * in the block direction, cells within a row (structure type TD) in the inline | 591 * in the block direction, cells within a row (structure type TD) in the inline |
598 * direction. | 592 * direction. |
599 * Note: The inline-progression direction specified by the writing mode is subj
ect to | 593 * Note: The inline-progression direction specified by the writing mode is subj
ect to |
600 * local override within the text being laid out, as described in Unicode Stand
ard | 594 * local override within the text being laid out, as described in Unicode Stand
ard |
601 * Annex #9, The Bidirectional Algorithm, available from the Unicode Consor- | 595 * Annex #9, The Bidirectional Algorithm, available from the Unicode Consor- |
602 * tium (see the Bibliography). | 596 * tium (see the Bibliography). |
603 **/ | 597 **/ |
604 bool has_WritingMode() const { | 598 bool has_WritingMode() const { |
605 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Writi
ngMode", "", NULL)); | 599 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Writi
ngMode", "", NULL)); |
606 } | 600 } |
607 | 601 |
608 std::string WritingMode() const { | 602 std::string WritingMode() const; |
609 std::string ret; | |
610 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WritingMode
", "", &ret)) return ret; | |
611 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
612 return ""; | |
613 } | |
614 | |
615 }; | 603 }; |
616 | 604 |
617 #endif // __DEFINED__SkPdfStandardStructureDictionary | 605 #endif // __DEFINED__SkPdfStandardStructureDictionary |
OLD | NEW |