38#ifdef SK_PDF_TEST_TAGS_OUTPUT_PATH
47 metadata.
fTitle =
"Example Tagged PDF";
56 auto root = std::make_unique<PDFTag>();
58 root->fTypeString =
"Document";
61 auto h1 = std::make_unique<PDFTag>();
63 h1->fTypeString =
"H1";
64 h1->fAlt =
"A Header";
65 root->fChildVector.push_back(std::move(h1));
68 auto p = std::make_unique<PDFTag>();
71 root->fChildVector.push_back(std::move(
p));
75 auto div = std::make_unique<PDFTag>();
77 div->fTypeString =
"Div";
78 root->fChildVector.push_back(std::move(div));
81 auto l = std::make_unique<PDFTag>();
85 auto lm1 = std::make_unique<PDFTag>();
87 lm1->fTypeString =
"Lbl";
88 l->fChildVector.push_back(std::move(lm1));
90 auto li1 = std::make_unique<PDFTag>();
92 li1->fTypeString =
"LI";
93 l->fChildVector.push_back(std::move(li1));
95 auto lm2 = std::make_unique<PDFTag>();
97 lm2->fTypeString =
"Lbl";
98 l->fChildVector.push_back(std::move(lm2));
99 auto li2 = std::make_unique<PDFTag>();
101 li2->fTypeString =
"LI";
102 l->fChildVector.push_back(std::move(li2));
104 root->fChildVector.push_back(std::move(l));
107 auto p2 = std::make_unique<PDFTag>();
109 p2->fTypeString =
"P";
110 root->fChildVector.push_back(std::move(p2));
113 auto img = std::make_unique<PDFTag>();
115 img->fTypeString =
"Figure";
116 img->fAlt =
"Red box";
117 root->fChildVector.push_back(std::move(img));
121 &outputStream, metadata);
128 document->beginPage(pageSize.
width(),
132 const char*
message =
"This is the title";
138 message =
"This is a simple paragraph.";
164 message =
"This is a paragraph that starts on one page";
171 canvas = document->beginPage(pageSize.
width(),
174 message =
"and finishes on the second page.";
197 outputStream.
flush();
constexpr SkColor SK_ColorRED
constexpr SkColor SK_ColorBLACK
#define DEF_TEST(name, reporter)
#define REQUIRE_PDF_DOCUMENT(TEST_NAME, REPORTER)
sk_sp< SkImage > asImage() const
void allocN32Pixels(int width, int height, bool isOpaque=false)
void eraseColor(SkColor4f) const
void translate(SkScalar dx, SkScalar dy)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
void GetDateTime(SkPDF::DateTime *)
SK_API sk_sp< SkDocument > MakeDocument(SkWStream *stream, const Metadata &metadata)
SK_API void SetNodeId(SkCanvas *dst, int nodeID)
font
Font Metadata and Metrics.
static constexpr SkSize Make(SkScalar w, SkScalar h)