9 const char* documentTitle,
10 void (*writePage)(
SkCanvas*,
int page),
14 metadata.
fTitle = documentTitle;
15 metadata.
fCreator =
"Example WritePDF() Function";
16 metadata.
fCreation = {0, 2019, 1, 4, 31, 12, 34, 56};
17 metadata.
fModified = {0, 2019, 1, 4, 31, 12, 34, 56};
20 for (
int page = 0; page < numberOfPages; ++page) {
21 SkCanvas* pageCanvas = pdfDocument->beginPage(pageSize.
width(),
23 writePage(pageCanvas, page);
24 pdfDocument->endPage();
30void print_data(
const SkData* data,
const char*
name) {
33 size_t s = data->size();
34 const uint8_t*
d = data->bytes();
35 for (
size_t i = 0; i <
s; ++i) {
44void write_page(
SkCanvas* canvas,
int) {
47 path.moveTo(
C +
R,
C);
48 for (
int i = 1; i < 8; ++i) {
50 path.lineTo(
C +
R * cos(
a),
C +
R * sin(
a));
58 constexpr SkSize ansiLetterSize{8.5f * 72, 11.0f * 72};
60 WritePDF(&
buffer,
"SkPDF Example", &write_page, 1, ansiLetterSize);
62 print_data(pdfData.
get(),
"skpdf_example.pdf");
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
static const uint8_t buffer[]