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

Unified Diff: core/src/reflow/layoutprovider_taggedpdf.cpp

Issue 453133004: clang-format all code (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: core/src/reflow/layoutprovider_taggedpdf.cpp
diff --git a/core/src/reflow/layoutprovider_taggedpdf.cpp b/core/src/reflow/layoutprovider_taggedpdf.cpp
index c40c1cdb64fb002ad31605b082a0d1cdb0351bad..d3768566ad85a06aec2e9851f57e7fbbd137150c 100644
--- a/core/src/reflow/layoutprovider_taggedpdf.cpp
+++ b/core/src/reflow/layoutprovider_taggedpdf.cpp
@@ -1,780 +1,761 @@
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-
+
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "layoutprovider_taggedpdf.h"
-CPDF_LayoutElement::CPDF_LayoutElement()
-{
- m_pTaggedElement = NULL;
- m_pParentElement = NULL;
+CPDF_LayoutElement::CPDF_LayoutElement() {
+ m_pTaggedElement = NULL;
+ m_pParentElement = NULL;
}
-CPDF_LayoutElement::~CPDF_LayoutElement()
-{
- m_ObjArray.RemoveAll();
- int size = m_ChildArray.GetSize();
- for(int i = 0; i < size; i++) {
- CPDF_LayoutElement* pChild = (CPDF_LayoutElement*)m_ChildArray.GetAt(i);
- delete pChild;
- pChild = NULL;
- }
- m_ChildArray.RemoveAll();
+CPDF_LayoutElement::~CPDF_LayoutElement() {
+ m_ObjArray.RemoveAll();
+ int size = m_ChildArray.GetSize();
+ for (int i = 0; i < size; i++) {
+ CPDF_LayoutElement* pChild = (CPDF_LayoutElement*)m_ChildArray.GetAt(i);
+ delete pChild;
+ pChild = NULL;
+ }
+ m_ChildArray.RemoveAll();
}
-LayoutType CPDF_LayoutElement::ConvertLayoutType(FX_BSTR name)
-{
- if(name == (const char*)("Document")) {
- return LayoutDocument;
- } else if(name == (const char*)("Part")) {
- return LayoutPart;
- } else if(name == (const char*)("Art")) {
- return LayoutArt;
- } else if(name == (const char*)("Sect")) {
- return LayoutSect;
- } else if(name == (const char*)("Div")) {
- return LayoutDiv;
- } else if(name == (const char*)("BlockQuote")) {
- return LayoutBlockQuote;
- } else if(name == (const char*)("Caption")) {
- return LayoutCaption;
- } else if(name == (const char*)("TOC")) {
- return LayoutTOC;
- } else if(name == (const char*)("TOCI")) {
- return LayoutTOCI;
- } else if(name == (const char*)("Index")) {
- return LayoutIndex;
- } else if(name == (const char*)("NonStruct")) {
- return LayoutNonStruct;
- } else if(name == (const char*)("Private")) {
- return LayoutPrivate;
- } else if(name == (const char*)("P")) {
- return LayoutParagraph;
- } else if(name == (const char*)("H")) {
- return LayoutHeading;
- } else if(name == (const char*)("H1")) {
- return LayoutHeading1;
- } else if(name == (const char*)("H2")) {
- return LayoutHeading2;
- } else if(name == (const char*)("H3")) {
- return LayoutHeading3;
- } else if(name == (const char*)("H4")) {
- return LayoutHeading4;
- } else if(name == (const char*)("H5")) {
- return LayoutHeading5;
- } else if(name == (const char*)("H6")) {
- return LayoutHeading6;
- } else if(name == (const char*)("L")) {
- return LayoutList;
- } else if(name == (const char*)("LI")) {
- return LayoutListItem;
- } else if(name == (const char*)("Lbl")) {
- return LayoutListLabel;
- } else if(name == (const char*)("LBody")) {
- return LayoutListBody;
- } else if(name == (const char*)("Table")) {
- return LayoutTable;
- } else if(name == (const char*)("TR")) {
- return LayoutTableRow;
- } else if(name == (const char*)("TH")) {
- return LayoutTableHeaderCell;
- } else if(name == (const char*)("TD")) {
- return LayoutTableDataCell;
- } else if(name == (const char*)("THead")) {
- return LayoutTableHeaderGroup;
- } else if(name == (const char*)("TBody")) {
- return LayoutTableBodyGroup;
- } else if(name == (const char*)("TFoot")) {
- return LayoutTableFootGroup;
- } else if(name == (const char*)("Span")) {
- return LayoutSpan;
- } else if(name == (const char*)("Quote")) {
- return LayoutQuote;
- } else if(name == (const char*)("Note")) {
- return LayoutNote;
- } else if(name == (const char*)("Reference")) {
- return LayoutReference;
- } else if(name == (const char*)("BibEntry")) {
- return LayoutBibEntry;
- } else if(name == (const char*)("Code")) {
- return LayoutCode;
- } else if(name == (const char*)("Link")) {
- return LayoutLink;
- } else if(name == (const char*)("Annot")) {
- return LayoutAnnot;
- } else if(name == (const char*)("Ruby")) {
- return LayoutRuby;
- } else if(name == (const char*)("RB")) {
- return LayoutRubyBase;
- } else if(name == (const char*)("RT")) {
- return LayoutRubyAnnot;
- } else if(name == (const char*)("RP")) {
- return LayoutRubyPunc;
- } else if(name == (const char*)("Warichu")) {
- return LayoutWarichu;
- } else if(name == (const char*)("WT")) {
- return LayoutWarichuText;
- } else if(name == (const char*)("WP")) {
- return LayoutWarichuPunc;
- } else if(name == (const char*)("Figure")) {
- return LayoutFigure;
- } else if(name == (const char*)("Formula")) {
- return LayoutFormula;
- } else if(name == (const char*)("Form")) {
- return LayoutForm;
- } else {
- return LayoutUnknown;
- }
+LayoutType CPDF_LayoutElement::ConvertLayoutType(FX_BSTR name) {
+ if (name == (const char*)("Document")) {
+ return LayoutDocument;
+ } else if (name == (const char*)("Part")) {
+ return LayoutPart;
+ } else if (name == (const char*)("Art")) {
+ return LayoutArt;
+ } else if (name == (const char*)("Sect")) {
+ return LayoutSect;
+ } else if (name == (const char*)("Div")) {
+ return LayoutDiv;
+ } else if (name == (const char*)("BlockQuote")) {
+ return LayoutBlockQuote;
+ } else if (name == (const char*)("Caption")) {
+ return LayoutCaption;
+ } else if (name == (const char*)("TOC")) {
+ return LayoutTOC;
+ } else if (name == (const char*)("TOCI")) {
+ return LayoutTOCI;
+ } else if (name == (const char*)("Index")) {
+ return LayoutIndex;
+ } else if (name == (const char*)("NonStruct")) {
+ return LayoutNonStruct;
+ } else if (name == (const char*)("Private")) {
+ return LayoutPrivate;
+ } else if (name == (const char*)("P")) {
+ return LayoutParagraph;
+ } else if (name == (const char*)("H")) {
+ return LayoutHeading;
+ } else if (name == (const char*)("H1")) {
+ return LayoutHeading1;
+ } else if (name == (const char*)("H2")) {
+ return LayoutHeading2;
+ } else if (name == (const char*)("H3")) {
+ return LayoutHeading3;
+ } else if (name == (const char*)("H4")) {
+ return LayoutHeading4;
+ } else if (name == (const char*)("H5")) {
+ return LayoutHeading5;
+ } else if (name == (const char*)("H6")) {
+ return LayoutHeading6;
+ } else if (name == (const char*)("L")) {
+ return LayoutList;
+ } else if (name == (const char*)("LI")) {
+ return LayoutListItem;
+ } else if (name == (const char*)("Lbl")) {
+ return LayoutListLabel;
+ } else if (name == (const char*)("LBody")) {
+ return LayoutListBody;
+ } else if (name == (const char*)("Table")) {
+ return LayoutTable;
+ } else if (name == (const char*)("TR")) {
+ return LayoutTableRow;
+ } else if (name == (const char*)("TH")) {
+ return LayoutTableHeaderCell;
+ } else if (name == (const char*)("TD")) {
+ return LayoutTableDataCell;
+ } else if (name == (const char*)("THead")) {
+ return LayoutTableHeaderGroup;
+ } else if (name == (const char*)("TBody")) {
+ return LayoutTableBodyGroup;
+ } else if (name == (const char*)("TFoot")) {
+ return LayoutTableFootGroup;
+ } else if (name == (const char*)("Span")) {
+ return LayoutSpan;
+ } else if (name == (const char*)("Quote")) {
+ return LayoutQuote;
+ } else if (name == (const char*)("Note")) {
+ return LayoutNote;
+ } else if (name == (const char*)("Reference")) {
+ return LayoutReference;
+ } else if (name == (const char*)("BibEntry")) {
+ return LayoutBibEntry;
+ } else if (name == (const char*)("Code")) {
+ return LayoutCode;
+ } else if (name == (const char*)("Link")) {
+ return LayoutLink;
+ } else if (name == (const char*)("Annot")) {
+ return LayoutAnnot;
+ } else if (name == (const char*)("Ruby")) {
+ return LayoutRuby;
+ } else if (name == (const char*)("RB")) {
+ return LayoutRubyBase;
+ } else if (name == (const char*)("RT")) {
+ return LayoutRubyAnnot;
+ } else if (name == (const char*)("RP")) {
+ return LayoutRubyPunc;
+ } else if (name == (const char*)("Warichu")) {
+ return LayoutWarichu;
+ } else if (name == (const char*)("WT")) {
+ return LayoutWarichuText;
+ } else if (name == (const char*)("WP")) {
+ return LayoutWarichuPunc;
+ } else if (name == (const char*)("Figure")) {
+ return LayoutFigure;
+ } else if (name == (const char*)("Formula")) {
+ return LayoutFormula;
+ } else if (name == (const char*)("Form")) {
+ return LayoutForm;
+ } else {
+ return LayoutUnknown;
+ }
}
-CFX_ByteStringC CPDF_LayoutElement::ConvertLayoutType(LayoutType type)
-{
- FX_BSTR name = "";
- if(type == LayoutArifact) {
- return "Arifact";
- } else if( type == LayoutDocument) {
- return "Document";
- } else if( type == LayoutPart) {
- return "Part";
- } else if( type == LayoutArt) {
- return "Art";
- } else if( type == LayoutSect) {
- return "Sect";
- } else if( type == LayoutDiv) {
- return "Div";
- } else if( type == LayoutBlockQuote) {
- return "BlockQuote";
- } else if( type == LayoutCaption) {
- return "Caption";
- } else if( type == LayoutTOC) {
- return "TOC";
- } else if( type == LayoutTOCI) {
- return "TOCI";
- } else if( type == LayoutIndex) {
- return "Index";
- } else if( type == LayoutNonStruct) {
- return "NonStruct";
- } else if( type == LayoutPrivate) {
- return "Private";
- } else if( type == LayoutParagraph) {
- return "P";
- } else if( type == LayoutHeading) {
- return "H";
- } else if( type == LayoutHeading1) {
- return "H1";
- } else if( type == LayoutHeading2) {
- return "H2";
- } else if( type == LayoutHeading3) {
- return "H3";
- } else if( type == LayoutHeading4) {
- return "H4";
- } else if( type == LayoutHeading5) {
- return "H5";
- } else if( type == LayoutHeading6) {
- return "H6";
- } else if( type == LayoutList) {
- return "L";
- } else if( type == LayoutListItem) {
- return "LI";
- } else if( type == LayoutListLabel) {
- return "Lbl";
- } else if( type == LayoutListBody) {
- return "LBody";
- } else if( type == LayoutTable) {
- return "Table";
- } else if( type == LayoutTableRow) {
- return "TR";
- } else if( type == LayoutTableHeaderCell) {
- return "TH";
- } else if( type == LayoutTableDataCell) {
- return "TD";
- } else if( type == LayoutTableHeaderGroup) {
- return "THead";
- } else if( type == LayoutTableBodyGroup) {
- return "TBody";
- } else if( type == LayoutTableFootGroup) {
- return "TFoot";
- } else if( type == LayoutSpan) {
- return "Span";
- } else if( type == LayoutQuote) {
- return "Quote";
- } else if( type == LayoutNote) {
- return "Note";
- } else if( type == LayoutReference) {
- return "Reference";
- } else if( type == LayoutBibEntry) {
- return "BibEntry";
- } else if( type == LayoutCode) {
- return "Code";
- } else if( type == LayoutLink) {
- return "Link";
- } else if( type == LayoutAnnot) {
- return "Annot";
- } else if( type == LayoutRuby) {
- return "Ruby";
- } else if( type == LayoutRubyBase) {
- return "RB";
- } else if( type == LayoutRubyAnnot) {
- return "RT";
- } else if( type == LayoutRubyPunc) {
- return "RP";
- } else if( type == LayoutWarichu) {
- return "Warichu";
- } else if( type == LayoutWarichuText) {
- return "WT";
- } else if( type == LayoutWarichuPunc) {
- return "WP";
- } else if( type == LayoutFigure) {
- return "Figure";
- } else if( type == LayoutFormula) {
- return "Formula";
- } else if( type == LayoutForm) {
- return "Form";
- }
- return name;
+CFX_ByteStringC CPDF_LayoutElement::ConvertLayoutType(LayoutType type) {
+ FX_BSTR name = "";
+ if (type == LayoutArifact) {
+ return "Arifact";
+ } else if (type == LayoutDocument) {
+ return "Document";
+ } else if (type == LayoutPart) {
+ return "Part";
+ } else if (type == LayoutArt) {
+ return "Art";
+ } else if (type == LayoutSect) {
+ return "Sect";
+ } else if (type == LayoutDiv) {
+ return "Div";
+ } else if (type == LayoutBlockQuote) {
+ return "BlockQuote";
+ } else if (type == LayoutCaption) {
+ return "Caption";
+ } else if (type == LayoutTOC) {
+ return "TOC";
+ } else if (type == LayoutTOCI) {
+ return "TOCI";
+ } else if (type == LayoutIndex) {
+ return "Index";
+ } else if (type == LayoutNonStruct) {
+ return "NonStruct";
+ } else if (type == LayoutPrivate) {
+ return "Private";
+ } else if (type == LayoutParagraph) {
+ return "P";
+ } else if (type == LayoutHeading) {
+ return "H";
+ } else if (type == LayoutHeading1) {
+ return "H1";
+ } else if (type == LayoutHeading2) {
+ return "H2";
+ } else if (type == LayoutHeading3) {
+ return "H3";
+ } else if (type == LayoutHeading4) {
+ return "H4";
+ } else if (type == LayoutHeading5) {
+ return "H5";
+ } else if (type == LayoutHeading6) {
+ return "H6";
+ } else if (type == LayoutList) {
+ return "L";
+ } else if (type == LayoutListItem) {
+ return "LI";
+ } else if (type == LayoutListLabel) {
+ return "Lbl";
+ } else if (type == LayoutListBody) {
+ return "LBody";
+ } else if (type == LayoutTable) {
+ return "Table";
+ } else if (type == LayoutTableRow) {
+ return "TR";
+ } else if (type == LayoutTableHeaderCell) {
+ return "TH";
+ } else if (type == LayoutTableDataCell) {
+ return "TD";
+ } else if (type == LayoutTableHeaderGroup) {
+ return "THead";
+ } else if (type == LayoutTableBodyGroup) {
+ return "TBody";
+ } else if (type == LayoutTableFootGroup) {
+ return "TFoot";
+ } else if (type == LayoutSpan) {
+ return "Span";
+ } else if (type == LayoutQuote) {
+ return "Quote";
+ } else if (type == LayoutNote) {
+ return "Note";
+ } else if (type == LayoutReference) {
+ return "Reference";
+ } else if (type == LayoutBibEntry) {
+ return "BibEntry";
+ } else if (type == LayoutCode) {
+ return "Code";
+ } else if (type == LayoutLink) {
+ return "Link";
+ } else if (type == LayoutAnnot) {
+ return "Annot";
+ } else if (type == LayoutRuby) {
+ return "Ruby";
+ } else if (type == LayoutRubyBase) {
+ return "RB";
+ } else if (type == LayoutRubyAnnot) {
+ return "RT";
+ } else if (type == LayoutRubyPunc) {
+ return "RP";
+ } else if (type == LayoutWarichu) {
+ return "Warichu";
+ } else if (type == LayoutWarichuText) {
+ return "WT";
+ } else if (type == LayoutWarichuPunc) {
+ return "WP";
+ } else if (type == LayoutFigure) {
+ return "Figure";
+ } else if (type == LayoutFormula) {
+ return "Formula";
+ } else if (type == LayoutForm) {
+ return "Form";
+ }
+ return name;
}
-CFX_ByteStringC CPDF_LayoutElement::ConvertLayoutAttr(LayoutAttr attr)
-{
- switch(attr) {
- case LayoutArtifactType:
- return "Type";
- case LayoutArtifactAttached:
- return "Attached";
- case LayoutArtifactSubType:
- return "Subtype";
- case LayoutPlacement:
- return "Placement";
- case LayoutWritingMode:
- return "WritingMode";
- case LayoutBackgroundColor:
- return "BackgroundColor";
- case LayoutBorderColor:
- return "BorderColor";
- case LayoutBorderStyle:
- return "BorderStyle";
- case LayoutBorderThickness:
- return "BorderThickness";
- case LayoutPadding:
- return "Padding";
- case LayoutColor:
- return "Color";
- case LayoutSpaceBefore:
- return "SpaceBefore";
- case LayoutSpaceAfter:
- return "SpaceAfter";
- case LayoutStartIndent:
- return "StartIndent";
- case LayoutEndIndent:
- return "EndIndent";
- case LayoutTextIndent:
- return "TextIndent";
- case LayoutTextAlign:
- return "TextAlign";
- case LayoutBBox:
- return "BBox";
- case LayoutWidth:
- return "Width";
- case LayoutHeight:
- return "Height";
- case LayoutBlockAlign:
- return "BlockAlign";
- case LayoutInlineAlign:
- return "InlineAlign";
- case LayoutTBorderStyle:
- return "TBorderStyle";
- case LayoutTPadding:
- return "TPadding";
- case LayoutBaselineShift:
- return "BaselineShift";
- case LayoutLineHeight:
- return "LineHeight";
- case LayoutTextDecorationColor:
- return "TextDecorationColor";
- case LayoutTextDecorationThickness:
- return "TextDecorationThickness";
- case LayoutTextDecorationType:
- return "TextDecorationType";
- case LayoutRubyAlign:
- return "RubyAlign";
- case LayoutRubyPosition:
- return "RubyPosition";
- case LayoutGlyphOrientationVertical:
- return "GlyphOrientationVertical";
- case LayoutColumnCount:
- return "ColumnCount";
- case LayoutColumnGap:
- return "ColumnGap";
- case LayoutColumnWidths:
- return "ColumnWidths";
- case LayoutListNumbering:
- return "ListNumbering";
- case LayoutFieldRole:
- return "Role";
- case LayoutFieldChecked:
- return "checked";
- case LayoutFieldDesc:
- return "Desc";
- case LayoutRowSpan:
- return "RowSpan";
- case LayoutColSpan:
- return "ColSpan";
- case LayoutTableHeaders:
- return "Headers";
- case LayoutTableHeaderScope:
- return "Scope";
- case LayoutTableSummary:
- return "Summary";
- default:
- return "";
- }
+CFX_ByteStringC CPDF_LayoutElement::ConvertLayoutAttr(LayoutAttr attr) {
+ switch (attr) {
+ case LayoutArtifactType:
+ return "Type";
+ case LayoutArtifactAttached:
+ return "Attached";
+ case LayoutArtifactSubType:
+ return "Subtype";
+ case LayoutPlacement:
+ return "Placement";
+ case LayoutWritingMode:
+ return "WritingMode";
+ case LayoutBackgroundColor:
+ return "BackgroundColor";
+ case LayoutBorderColor:
+ return "BorderColor";
+ case LayoutBorderStyle:
+ return "BorderStyle";
+ case LayoutBorderThickness:
+ return "BorderThickness";
+ case LayoutPadding:
+ return "Padding";
+ case LayoutColor:
+ return "Color";
+ case LayoutSpaceBefore:
+ return "SpaceBefore";
+ case LayoutSpaceAfter:
+ return "SpaceAfter";
+ case LayoutStartIndent:
+ return "StartIndent";
+ case LayoutEndIndent:
+ return "EndIndent";
+ case LayoutTextIndent:
+ return "TextIndent";
+ case LayoutTextAlign:
+ return "TextAlign";
+ case LayoutBBox:
+ return "BBox";
+ case LayoutWidth:
+ return "Width";
+ case LayoutHeight:
+ return "Height";
+ case LayoutBlockAlign:
+ return "BlockAlign";
+ case LayoutInlineAlign:
+ return "InlineAlign";
+ case LayoutTBorderStyle:
+ return "TBorderStyle";
+ case LayoutTPadding:
+ return "TPadding";
+ case LayoutBaselineShift:
+ return "BaselineShift";
+ case LayoutLineHeight:
+ return "LineHeight";
+ case LayoutTextDecorationColor:
+ return "TextDecorationColor";
+ case LayoutTextDecorationThickness:
+ return "TextDecorationThickness";
+ case LayoutTextDecorationType:
+ return "TextDecorationType";
+ case LayoutRubyAlign:
+ return "RubyAlign";
+ case LayoutRubyPosition:
+ return "RubyPosition";
+ case LayoutGlyphOrientationVertical:
+ return "GlyphOrientationVertical";
+ case LayoutColumnCount:
+ return "ColumnCount";
+ case LayoutColumnGap:
+ return "ColumnGap";
+ case LayoutColumnWidths:
+ return "ColumnWidths";
+ case LayoutListNumbering:
+ return "ListNumbering";
+ case LayoutFieldRole:
+ return "Role";
+ case LayoutFieldChecked:
+ return "checked";
+ case LayoutFieldDesc:
+ return "Desc";
+ case LayoutRowSpan:
+ return "RowSpan";
+ case LayoutColSpan:
+ return "ColSpan";
+ case LayoutTableHeaders:
+ return "Headers";
+ case LayoutTableHeaderScope:
+ return "Scope";
+ case LayoutTableSummary:
+ return "Summary";
+ default:
+ return "";
+ }
}
-LayoutEnum CPDF_LayoutElement::ConvertLayoutEnum(CFX_ByteStringC Enum)
-{
- if(Enum == "Block") {
- return LayoutBlock;
- } else if (Enum == "Inline") {
- return LayoutInline;
- } else if (Enum == "Before") {
- return LayoutBefore;
- } else if (Enum == "Start") {
- return LayoutStart;
- } else if (Enum == "End") {
- return LayoutEnd;
- } else if (Enum == "LrTb") {
- return LayoutLrTb;
- } else if (Enum == "RlTb") {
- return LayoutRlTb;
- } else if (Enum == "TbRl") {
- return LayoutTbRl;
- } else if (Enum == "None") {
- return LayoutNone;
- } else if (Enum == "Hidden") {
- return LayoutHidden;
- } else if (Enum == "Dotted") {
- return LayoutDotted;
- } else if (Enum == "Dashed") {
- return LayoutDashed;
- } else if (Enum == "Solid") {
- return LayoutSolid;
- } else if (Enum == "Double") {
- return LayoutDouble;
- } else if (Enum == "Groove") {
- return LayoutGroove;
- } else if (Enum == "Ridge") {
- return LayoutRidge;
- } else if (Enum == "Inset") {
- return LayoutInset;
- } else if (Enum == "Outset") {
- return LayoutOutset;
- } else if (Enum == "Normal") {
- return LayoutNormal;
- } else if (Enum == "Auto") {
- return LayoutAuto;
- } else if (Enum == "Center") {
- return LayoutCenter;
- } else if (Enum == "Justify") {
- return LayoutJustify;
- } else if (Enum == "Middle") {
- return LayoutMiddle;
- } else if (Enum == "Underline") {
- return LayoutUnderline;
- } else if (Enum == "Overline") {
- return LayoutOverline;
- } else if (Enum == "LineThrough") {
- return LayoutLineThrough;
- } else if (Enum == "Distribute") {
- return LayoutDistribute;
- } else if (Enum == "Disc") {
- return LayoutDisc;
- } else if (Enum == "Circle") {
- return LayoutCircle;
- } else if (Enum == "Square") {
- return LayoutSquare;
- } else if (Enum == "Decimal") {
- return LayoutDecimal;
- } else if (Enum == "UpperRoman") {
- return LayoutUpperRoman;
- } else if (Enum == "LowerRoman") {
- return LayoutLowerRoman;
- } else if (Enum == "UpperAlpha") {
- return LayoutUpperAlpha;
- } else if (Enum == "LowerAlpha") {
- return LayoutLowerAlpha;
- } else if (Enum == "rb") {
- return LayoutRB;
- } else if (Enum == "cb") {
- return LayoutCB;
- } else if (Enum == "pb") {
- return LayoutPB;
- } else if (Enum == "tv") {
- return LayoutTV;
- } else if (Enum == "on") {
- return LayoutOn;
- } else if (Enum == "off") {
- return LayoutOff;
- } else if (Enum == "neutral") {
- return LayoutNeutral;
- } else if (Enum == "Row") {
- return LayoutRow;
- } else if (Enum == "Column") {
- return LayoutColumn;
- } else if (Enum == "Both") {
- return LayoutBoth;
- } else if (Enum == "Left") {
- return LayoutLeft;
- } else if (Enum == "Top") {
- return LayoutTop;
- } else if (Enum == "Bottom") {
- return LayoutBottom;
- } else if (Enum == "Right") {
- return LayoutRight;
- } else if (Enum == "Pagination") {
- return LayoutPagination;
- } else if (Enum == "Layout") {
- return LayoutLayout;
- } else if (Enum == "Page") {
- return LayoutPage;
- } else if (Enum == "Background") {
- return LayoutBackground;
- } else if (Enum == "Header") {
- return LayoutHeader;
- } else if (Enum == "Footer") {
- return LayoutFooter;
- } else if (Enum == "Watermark") {
- return LayoutWatermark;
- } else {
- return LayoutInvalid;
- }
+LayoutEnum CPDF_LayoutElement::ConvertLayoutEnum(CFX_ByteStringC Enum) {
+ if (Enum == "Block") {
+ return LayoutBlock;
+ } else if (Enum == "Inline") {
+ return LayoutInline;
+ } else if (Enum == "Before") {
+ return LayoutBefore;
+ } else if (Enum == "Start") {
+ return LayoutStart;
+ } else if (Enum == "End") {
+ return LayoutEnd;
+ } else if (Enum == "LrTb") {
+ return LayoutLrTb;
+ } else if (Enum == "RlTb") {
+ return LayoutRlTb;
+ } else if (Enum == "TbRl") {
+ return LayoutTbRl;
+ } else if (Enum == "None") {
+ return LayoutNone;
+ } else if (Enum == "Hidden") {
+ return LayoutHidden;
+ } else if (Enum == "Dotted") {
+ return LayoutDotted;
+ } else if (Enum == "Dashed") {
+ return LayoutDashed;
+ } else if (Enum == "Solid") {
+ return LayoutSolid;
+ } else if (Enum == "Double") {
+ return LayoutDouble;
+ } else if (Enum == "Groove") {
+ return LayoutGroove;
+ } else if (Enum == "Ridge") {
+ return LayoutRidge;
+ } else if (Enum == "Inset") {
+ return LayoutInset;
+ } else if (Enum == "Outset") {
+ return LayoutOutset;
+ } else if (Enum == "Normal") {
+ return LayoutNormal;
+ } else if (Enum == "Auto") {
+ return LayoutAuto;
+ } else if (Enum == "Center") {
+ return LayoutCenter;
+ } else if (Enum == "Justify") {
+ return LayoutJustify;
+ } else if (Enum == "Middle") {
+ return LayoutMiddle;
+ } else if (Enum == "Underline") {
+ return LayoutUnderline;
+ } else if (Enum == "Overline") {
+ return LayoutOverline;
+ } else if (Enum == "LineThrough") {
+ return LayoutLineThrough;
+ } else if (Enum == "Distribute") {
+ return LayoutDistribute;
+ } else if (Enum == "Disc") {
+ return LayoutDisc;
+ } else if (Enum == "Circle") {
+ return LayoutCircle;
+ } else if (Enum == "Square") {
+ return LayoutSquare;
+ } else if (Enum == "Decimal") {
+ return LayoutDecimal;
+ } else if (Enum == "UpperRoman") {
+ return LayoutUpperRoman;
+ } else if (Enum == "LowerRoman") {
+ return LayoutLowerRoman;
+ } else if (Enum == "UpperAlpha") {
+ return LayoutUpperAlpha;
+ } else if (Enum == "LowerAlpha") {
+ return LayoutLowerAlpha;
+ } else if (Enum == "rb") {
+ return LayoutRB;
+ } else if (Enum == "cb") {
+ return LayoutCB;
+ } else if (Enum == "pb") {
+ return LayoutPB;
+ } else if (Enum == "tv") {
+ return LayoutTV;
+ } else if (Enum == "on") {
+ return LayoutOn;
+ } else if (Enum == "off") {
+ return LayoutOff;
+ } else if (Enum == "neutral") {
+ return LayoutNeutral;
+ } else if (Enum == "Row") {
+ return LayoutRow;
+ } else if (Enum == "Column") {
+ return LayoutColumn;
+ } else if (Enum == "Both") {
+ return LayoutBoth;
+ } else if (Enum == "Left") {
+ return LayoutLeft;
+ } else if (Enum == "Top") {
+ return LayoutTop;
+ } else if (Enum == "Bottom") {
+ return LayoutBottom;
+ } else if (Enum == "Right") {
+ return LayoutRight;
+ } else if (Enum == "Pagination") {
+ return LayoutPagination;
+ } else if (Enum == "Layout") {
+ return LayoutLayout;
+ } else if (Enum == "Page") {
+ return LayoutPage;
+ } else if (Enum == "Background") {
+ return LayoutBackground;
+ } else if (Enum == "Header") {
+ return LayoutHeader;
+ } else if (Enum == "Footer") {
+ return LayoutFooter;
+ } else if (Enum == "Watermark") {
+ return LayoutWatermark;
+ } else {
+ return LayoutInvalid;
+ }
}
-LayoutType CPDF_LayoutElement::GetType()
-{
- if(!m_pTaggedElement) {
- return LayoutUnknown;
- }
- CFX_ByteString name = m_pTaggedElement->GetType();
- return this->ConvertLayoutType(name);
+LayoutType CPDF_LayoutElement::GetType() {
+ if (!m_pTaggedElement) {
+ return LayoutUnknown;
+ }
+ CFX_ByteString name = m_pTaggedElement->GetType();
+ return this->ConvertLayoutType(name);
}
-int CPDF_LayoutElement::CountAttrValues(LayoutAttr attr_type)
-{
- if(!m_pTaggedElement) {
- return 0;
- }
- CPDF_Object* pObj = m_pTaggedElement->GetAttr(GetAttrOwner(attr_type), ConvertLayoutAttr(attr_type), IsInheritable(attr_type));
- if(pObj) {
- return 1;
- } else {
- return 0;
- }
+int CPDF_LayoutElement::CountAttrValues(LayoutAttr attr_type) {
+ if (!m_pTaggedElement) {
+ return 0;
+ }
+ CPDF_Object* pObj = m_pTaggedElement->GetAttr(GetAttrOwner(attr_type),
+ ConvertLayoutAttr(attr_type),
+ IsInheritable(attr_type));
+ if (pObj) {
+ return 1;
+ } else {
+ return 0;
+ }
}
-LayoutEnum CPDF_LayoutElement::GetEnumAttr(LayoutAttr attr_type, int index)
-{
- if(!m_pTaggedElement) {
- return LayoutInvalid;
- }
- CFX_ByteStringC owner = GetAttrOwner(attr_type);
- CFX_ByteStringC default_value = GetDefaultNameValue(attr_type);
- CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
- CFX_ByteString AttrValue = m_pTaggedElement->GetName(owner, AttrName, default_value, IsInheritable(attr_type), index);
- return ConvertLayoutEnum(AttrValue);
+LayoutEnum CPDF_LayoutElement::GetEnumAttr(LayoutAttr attr_type, int index) {
+ if (!m_pTaggedElement) {
+ return LayoutInvalid;
+ }
+ CFX_ByteStringC owner = GetAttrOwner(attr_type);
+ CFX_ByteStringC default_value = GetDefaultNameValue(attr_type);
+ CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
+ CFX_ByteString AttrValue = m_pTaggedElement->GetName(
+ owner, AttrName, default_value, IsInheritable(attr_type), index);
+ return ConvertLayoutEnum(AttrValue);
}
-CFX_ByteStringC CPDF_LayoutElement::GetAttrOwner(LayoutAttr attr_type)
-{
- switch(attr_type) {
- case LayoutListNumbering:
- return "List";
- case LayoutFieldRole:
- case LayoutFieldChecked :
- case LayoutFieldDesc:
- return "PrintField";
- case LayoutRowSpan:
- case LayoutColSpan:
- case LayoutTableHeaders:
- case LayoutTableHeaderScope:
- case LayoutTableSummary:
- return "Table";
- default:
- return "Layout";
- }
+CFX_ByteStringC CPDF_LayoutElement::GetAttrOwner(LayoutAttr attr_type) {
+ switch (attr_type) {
+ case LayoutListNumbering:
+ return "List";
+ case LayoutFieldRole:
+ case LayoutFieldChecked:
+ case LayoutFieldDesc:
+ return "PrintField";
+ case LayoutRowSpan:
+ case LayoutColSpan:
+ case LayoutTableHeaders:
+ case LayoutTableHeaderScope:
+ case LayoutTableSummary:
+ return "Table";
+ default:
+ return "Layout";
+ }
}
-FX_FLOAT CPDF_LayoutElement::GetNumberAttr(LayoutAttr attr_type, int index)
-{
- if(!m_pTaggedElement) {
- return 0;
- }
- CFX_ByteStringC owner = GetAttrOwner(attr_type);
- FX_FLOAT default_value = GetDefaultFloatValue(attr_type);
- CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
- FX_FLOAT f = m_pTaggedElement->GetNumber(owner, AttrName, default_value, IsInheritable(attr_type), index);
- if(attr_type == LayoutWidth && !f) {
- f = m_pTaggedElement->GetNumber("Table", AttrName, default_value, IsInheritable(attr_type), index);
- }
- return f;
+FX_FLOAT CPDF_LayoutElement::GetNumberAttr(LayoutAttr attr_type, int index) {
+ if (!m_pTaggedElement) {
+ return 0;
+ }
+ CFX_ByteStringC owner = GetAttrOwner(attr_type);
+ FX_FLOAT default_value = GetDefaultFloatValue(attr_type);
+ CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
+ FX_FLOAT f = m_pTaggedElement->GetNumber(
+ owner, AttrName, default_value, IsInheritable(attr_type), index);
+ if (attr_type == LayoutWidth && !f) {
+ f = m_pTaggedElement->GetNumber(
+ "Table", AttrName, default_value, IsInheritable(attr_type), index);
+ }
+ return f;
}
-FX_COLORREF CPDF_LayoutElement::GetColorAttr(LayoutAttr attr_type, int index)
-{
- if(!m_pTaggedElement) {
- return 0;
- }
- CFX_ByteStringC owner = GetAttrOwner(attr_type);
- FX_COLORREF default_value = GetDefaultColorValue(attr_type);
- CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
- FX_ARGB f = m_pTaggedElement->GetColor(owner, AttrName, default_value, IsInheritable(attr_type), index);
- return f;
+FX_COLORREF CPDF_LayoutElement::GetColorAttr(LayoutAttr attr_type, int index) {
+ if (!m_pTaggedElement) {
+ return 0;
+ }
+ CFX_ByteStringC owner = GetAttrOwner(attr_type);
+ FX_COLORREF default_value = GetDefaultColorValue(attr_type);
+ CFX_ByteStringC AttrName = ConvertLayoutAttr(attr_type);
+ FX_ARGB f = m_pTaggedElement->GetColor(
+ owner, AttrName, default_value, IsInheritable(attr_type), index);
+ return f;
}
-FX_FLOAT CPDF_LayoutElement::GetDefaultFloatValue(LayoutAttr attr_type)
-{
- switch(attr_type) {
- case LayoutColumnCount:
- return 1;
- case LayoutRowSpan:
- return 1;
- case LayoutColSpan:
- return 1;
- default:
- return 0;
- }
+FX_FLOAT CPDF_LayoutElement::GetDefaultFloatValue(LayoutAttr attr_type) {
+ switch (attr_type) {
+ case LayoutColumnCount:
+ return 1;
+ case LayoutRowSpan:
+ return 1;
+ case LayoutColSpan:
+ return 1;
+ default:
+ return 0;
+ }
}
-FX_COLORREF CPDF_LayoutElement::GetDefaultColorValue(LayoutAttr attr_type)
-{
- return -1;
+FX_COLORREF CPDF_LayoutElement::GetDefaultColorValue(LayoutAttr attr_type) {
+ return -1;
}
-CFX_ByteStringC CPDF_LayoutElement::GetDefaultNameValue(LayoutAttr attr_type)
-{
- switch(attr_type) {
- case LayoutPlacement:
- return "Inline";
- case LayoutWritingMode:
- return "LrTb";
- case LayoutBorderStyle:
- return "None";
- case LayoutTextAlign:
- return "Start";
- case LayoutBlockAlign:
- return "Before";
- case LayoutInlineAlign:
- return "Start";
- case LayoutTBorderStyle:
- return "None";
- case LayoutTextDecorationType:
- return "None";
- case LayoutRubyAlign:
- return "Distribute";
- case LayoutRubyPosition:
- return "Before";
- case LayoutGlyphOrientationVertical:
- return "Auto";
- case LayoutListNumbering:
- return "None";
- case LayoutFieldRole:
- return "None";
- default:
- return "";
- }
+CFX_ByteStringC CPDF_LayoutElement::GetDefaultNameValue(LayoutAttr attr_type) {
+ switch (attr_type) {
+ case LayoutPlacement:
+ return "Inline";
+ case LayoutWritingMode:
+ return "LrTb";
+ case LayoutBorderStyle:
+ return "None";
+ case LayoutTextAlign:
+ return "Start";
+ case LayoutBlockAlign:
+ return "Before";
+ case LayoutInlineAlign:
+ return "Start";
+ case LayoutTBorderStyle:
+ return "None";
+ case LayoutTextDecorationType:
+ return "None";
+ case LayoutRubyAlign:
+ return "Distribute";
+ case LayoutRubyPosition:
+ return "Before";
+ case LayoutGlyphOrientationVertical:
+ return "Auto";
+ case LayoutListNumbering:
+ return "None";
+ case LayoutFieldRole:
+ return "None";
+ default:
+ return "";
+ }
}
-FX_BOOL CPDF_LayoutElement::IsInheritable(LayoutAttr type)
-{
- switch(type) {
- case LayoutWritingMode:
- case LayoutTextAlign:
- case LayoutBlockAlign:
- case LayoutInlineAlign:
- case LayoutLineHeight:
- case LayoutGlyphOrientationVertical:
- case LayoutRubyAlign:
- case LayoutRubyPosition:
- case LayoutBorderThickness:
- case LayoutStartIndent:
- case LayoutEndIndent:
- case LayoutTextIndent:
- case LayoutTPadding:
- case LayoutTextDecorationThickness:
- case LayoutBorderColor:
- case LayoutColor:
- case LayoutTextDecorationColor:
- return TRUE;
- default:
- return FALSE;
- }
+FX_BOOL CPDF_LayoutElement::IsInheritable(LayoutAttr type) {
+ switch (type) {
+ case LayoutWritingMode:
+ case LayoutTextAlign:
+ case LayoutBlockAlign:
+ case LayoutInlineAlign:
+ case LayoutLineHeight:
+ case LayoutGlyphOrientationVertical:
+ case LayoutRubyAlign:
+ case LayoutRubyPosition:
+ case LayoutBorderThickness:
+ case LayoutStartIndent:
+ case LayoutEndIndent:
+ case LayoutTextIndent:
+ case LayoutTPadding:
+ case LayoutTextDecorationThickness:
+ case LayoutBorderColor:
+ case LayoutColor:
+ case LayoutTextDecorationColor:
+ return TRUE;
+ default:
+ return FALSE;
+ }
}
-int CPDF_LayoutElement::CountChildren()
-{
- return m_ChildArray.GetSize();
+int CPDF_LayoutElement::CountChildren() {
+ return m_ChildArray.GetSize();
}
-IPDF_LayoutElement* CPDF_LayoutElement::GetChild(int index)
-{
- return (IPDF_LayoutElement*)m_ChildArray.GetAt(index);
+IPDF_LayoutElement* CPDF_LayoutElement::GetChild(int index) {
+ return (IPDF_LayoutElement*)m_ChildArray.GetAt(index);
}
-IPDF_LayoutElement* CPDF_LayoutElement::GetParent()
-{
- return m_pParentElement;
+IPDF_LayoutElement* CPDF_LayoutElement::GetParent() {
+ return m_pParentElement;
}
-int CPDF_LayoutElement::CountObjects()
-{
- if(m_pTaggedElement == NULL) {
- return 0;
- }
- CFX_PtrArray* pObj = &m_ObjArray;
- int size = pObj->GetSize();
- return size;
+int CPDF_LayoutElement::CountObjects() {
+ if (m_pTaggedElement == NULL) {
+ return 0;
+ }
+ CFX_PtrArray* pObj = &m_ObjArray;
+ int size = pObj->GetSize();
+ return size;
}
-CPDF_PageObject* CPDF_LayoutElement::GetObject(int index)
-{
- if(m_pTaggedElement == NULL) {
- return NULL;
- }
- CFX_PtrArray *pObj = &m_ObjArray;
- int size = pObj->GetSize();
- if(index < size) {
- return (CPDF_PageObject*)pObj->GetAt(index);
- }
+CPDF_PageObject* CPDF_LayoutElement::GetObject(int index) {
+ if (m_pTaggedElement == NULL) {
return NULL;
+ }
+ CFX_PtrArray* pObj = &m_ObjArray;
+ int size = pObj->GetSize();
+ if (index < size) {
+ return (CPDF_PageObject*)pObj->GetAt(index);
+ }
+ return NULL;
}
-FX_BOOL CPDF_LayoutElement::AddObject(CPDF_PageObject* pObj)
-{
- return m_ObjArray.Add(pObj);
+FX_BOOL CPDF_LayoutElement::AddObject(CPDF_PageObject* pObj) {
+ return m_ObjArray.Add(pObj);
}
-IPDF_LayoutProvider* IPDF_LayoutProvider::Create_LayoutProvider_TaggedPDF(CPDF_PageObjects* pPage)
-{
- if(pPage == NULL) {
- return NULL;
- }
- CPDF_LayoutProvider_TaggedPDF* pProvider = FX_NEW CPDF_LayoutProvider_TaggedPDF;
- if (!pProvider) {
- return NULL;
- }
- pProvider->Init(pPage);
- return pProvider;
+IPDF_LayoutProvider* IPDF_LayoutProvider::Create_LayoutProvider_TaggedPDF(
+ CPDF_PageObjects* pPage) {
+ if (pPage == NULL) {
+ return NULL;
+ }
+ CPDF_LayoutProvider_TaggedPDF* pProvider =
+ FX_NEW CPDF_LayoutProvider_TaggedPDF;
+ if (!pProvider) {
+ return NULL;
+ }
+ pProvider->Init(pPage);
+ return pProvider;
}
-CPDF_LayoutProvider_TaggedPDF::CPDF_LayoutProvider_TaggedPDF()
-{
- m_pPause = NULL;
- m_pRoot = NULL;
- m_pPageTree = NULL;
- m_pCurTaggedElement = NULL;
+CPDF_LayoutProvider_TaggedPDF::CPDF_LayoutProvider_TaggedPDF() {
+ m_pPause = NULL;
+ m_pRoot = NULL;
+ m_pPageTree = NULL;
+ m_pCurTaggedElement = NULL;
}
-CPDF_LayoutProvider_TaggedPDF::~CPDF_LayoutProvider_TaggedPDF()
-{
- m_pCurTaggedElement = NULL;
- m_pPause = NULL;
- if(m_pRoot) {
- delete m_pRoot;
- }
- m_pRoot = NULL;
- if(m_pPageTree) {
- delete m_pPageTree;
- }
- m_pPageTree = NULL;
+CPDF_LayoutProvider_TaggedPDF::~CPDF_LayoutProvider_TaggedPDF() {
+ m_pCurTaggedElement = NULL;
+ m_pPause = NULL;
+ if (m_pRoot) {
+ delete m_pRoot;
+ }
+ m_pRoot = NULL;
+ if (m_pPageTree) {
+ delete m_pPageTree;
+ }
+ m_pPageTree = NULL;
}
-void CPDF_LayoutProvider_TaggedPDF::ProcessElement(CPDF_LayoutElement*pParent, CPDF_StructElement* pTaggedElement)
-{
- if(!pTaggedElement) {
- return;
- }
- if(!pParent) {
- m_Status = LayoutError;
- return;
- }
- CPDF_LayoutElement* pElement = FX_NEW CPDF_LayoutElement;
- if (!pElement) {
- m_Status = LayoutError;
- return;
- }
- pElement->m_pParentElement = pParent;
- pElement->m_pTaggedElement = pTaggedElement;
- pParent->m_ChildArray.Add(pElement);
- int count = pTaggedElement->CountKids();
- for(int i = 0; i < count; i++) {
- CPDF_StructKid Kid = pTaggedElement->GetKid(i);
- switch(Kid.m_Type) {
- case CPDF_StructKid::Element: {
- ProcessElement(pElement, Kid.m_Element.m_pElement);
- if(m_Status != LayoutReady) {
- return ;
- }
- }
- break;
- case CPDF_StructKid::PageContent: {
- int count = m_pPage->CountObjects();
- FX_POSITION pos = m_pPage->GetFirstObjectPosition();
- if(!pos) {
- m_Status = LayoutError;
- return ;
- }
- while (pos) {
- CPDF_PageObject* pObj = m_pPage->GetNextObject(pos);
- int pbjMCID = pObj->m_ContentMark.GetMCID();
- if((FX_DWORD)(pObj->m_ContentMark.GetMCID()) == Kid.m_PageContent.m_ContentId) {
- pElement->AddObject(pObj);
- }
- }
- }
- break;
- case CPDF_StructKid::StreamContent:
- case CPDF_StructKid::Object:
- default:
- break;
+void CPDF_LayoutProvider_TaggedPDF::ProcessElement(
+ CPDF_LayoutElement* pParent,
+ CPDF_StructElement* pTaggedElement) {
+ if (!pTaggedElement) {
+ return;
+ }
+ if (!pParent) {
+ m_Status = LayoutError;
+ return;
+ }
+ CPDF_LayoutElement* pElement = FX_NEW CPDF_LayoutElement;
+ if (!pElement) {
+ m_Status = LayoutError;
+ return;
+ }
+ pElement->m_pParentElement = pParent;
+ pElement->m_pTaggedElement = pTaggedElement;
+ pParent->m_ChildArray.Add(pElement);
+ int count = pTaggedElement->CountKids();
+ for (int i = 0; i < count; i++) {
+ CPDF_StructKid Kid = pTaggedElement->GetKid(i);
+ switch (Kid.m_Type) {
+ case CPDF_StructKid::Element: {
+ ProcessElement(pElement, Kid.m_Element.m_pElement);
+ if (m_Status != LayoutReady) {
+ return;
}
- }
-}
-LayoutStatus CPDF_LayoutProvider_TaggedPDF::StartLoad(IFX_Pause* pPause)
-{
- m_pPause = pPause;
- if(m_pPage->m_pDocument && m_pPage->m_pFormDict) {
- m_pPageTree = CPDF_StructTree::LoadPage(m_pPage->m_pDocument, m_pPage->m_pFormDict);
- }
- if(!m_pPageTree) {
- m_Status = LayoutError;
- return LayoutError;
- }
- int count = m_pPageTree->CountTopElements();
- if(count == 0) {
- m_Status = LayoutError;
- return LayoutError;
- }
- m_pRoot = FX_NEW CPDF_LayoutElement;
- if (!m_pRoot) {
- m_Status = LayoutError;
- return LayoutError;
- }
- for(int i = 0; i < count; i++) {
- CPDF_StructElement* pElement = m_pPageTree->GetTopElement(i);
- if(pElement) {
- ProcessElement(m_pRoot, pElement);
- if(m_Status != LayoutReady) {
- return m_Status;
- }
+ } break;
+ case CPDF_StructKid::PageContent: {
+ int count = m_pPage->CountObjects();
+ FX_POSITION pos = m_pPage->GetFirstObjectPosition();
+ if (!pos) {
+ m_Status = LayoutError;
+ return;
}
- }
- m_pCurTaggedElement = NULL;
- m_Status = LayoutFinished;
- return LayoutFinished;
-}
-LayoutStatus CPDF_LayoutProvider_TaggedPDF::Continue()
-{
- if(!m_pCurTaggedElement) {
- return LayoutError;
- }
- if(m_Status != LayoutToBeContinued) {
- return LayoutError;
- }
- m_Status = LayoutReady;
- int count = m_pPageTree->CountTopElements();
- for(int i = 0; i < count; i++) {
- CPDF_StructElement* pElement = m_pPageTree->GetTopElement(i);
- if(pElement) {
- ProcessElement(m_pRoot, pElement);
- if(m_Status != LayoutReady) {
- return m_Status;
- }
+ while (pos) {
+ CPDF_PageObject* pObj = m_pPage->GetNextObject(pos);
+ int pbjMCID = pObj->m_ContentMark.GetMCID();
+ if ((FX_DWORD)(pObj->m_ContentMark.GetMCID()) ==
+ Kid.m_PageContent.m_ContentId) {
+ pElement->AddObject(pObj);
+ }
}
+ } break;
+ case CPDF_StructKid::StreamContent:
+ case CPDF_StructKid::Object:
+ default:
+ break;
}
- m_pCurTaggedElement = NULL;
- m_Status = LayoutFinished;
- return LayoutFinished;
+ }
}
-int CPDF_LayoutProvider_TaggedPDF::GetPosition()
-{
- if(m_TopElementIndex == 0) {
- return 0;
- }
- int count = m_pPageTree->CountTopElements();
- return m_TopElementIndex / count * 100;
+LayoutStatus CPDF_LayoutProvider_TaggedPDF::StartLoad(IFX_Pause* pPause) {
+ m_pPause = pPause;
+ if (m_pPage->m_pDocument && m_pPage->m_pFormDict) {
+ m_pPageTree =
+ CPDF_StructTree::LoadPage(m_pPage->m_pDocument, m_pPage->m_pFormDict);
+ }
+ if (!m_pPageTree) {
+ m_Status = LayoutError;
+ return LayoutError;
+ }
+ int count = m_pPageTree->CountTopElements();
+ if (count == 0) {
+ m_Status = LayoutError;
+ return LayoutError;
+ }
+ m_pRoot = FX_NEW CPDF_LayoutElement;
+ if (!m_pRoot) {
+ m_Status = LayoutError;
+ return LayoutError;
+ }
+ for (int i = 0; i < count; i++) {
+ CPDF_StructElement* pElement = m_pPageTree->GetTopElement(i);
+ if (pElement) {
+ ProcessElement(m_pRoot, pElement);
+ if (m_Status != LayoutReady) {
+ return m_Status;
+ }
+ }
+ }
+ m_pCurTaggedElement = NULL;
+ m_Status = LayoutFinished;
+ return LayoutFinished;
+}
+LayoutStatus CPDF_LayoutProvider_TaggedPDF::Continue() {
+ if (!m_pCurTaggedElement) {
+ return LayoutError;
+ }
+ if (m_Status != LayoutToBeContinued) {
+ return LayoutError;
+ }
+ m_Status = LayoutReady;
+ int count = m_pPageTree->CountTopElements();
+ for (int i = 0; i < count; i++) {
+ CPDF_StructElement* pElement = m_pPageTree->GetTopElement(i);
+ if (pElement) {
+ ProcessElement(m_pRoot, pElement);
+ if (m_Status != LayoutReady) {
+ return m_Status;
+ }
+ }
+ }
+ m_pCurTaggedElement = NULL;
+ m_Status = LayoutFinished;
+ return LayoutFinished;
+}
+int CPDF_LayoutProvider_TaggedPDF::GetPosition() {
+ if (m_TopElementIndex == 0) {
+ return 0;
+ }
+ int count = m_pPageTree->CountTopElements();
+ return m_TopElementIndex / count * 100;
}

Powered by Google App Engine
This is Rietveld 408576698