Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
build-page.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Build PDF pages for output.
4 *
5 * Authors:
6 * Martin Owens <doctormo@geek-2.com>
7 *
8 * Copyright (C) 2024 Authors
9 *
10 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
11 */
12
13#ifndef EXTENSION_INTERNAL_PDFOUTPUT_BUILD_PAGE_H
14#define EXTENSION_INTERNAL_PDFOUTPUT_BUILD_PAGE_H
15
16#include "build-drawing.h"
17
19
21{
22public:
24
25 PageContext(Document &doc, SPPage const *page);
26
27 void set_pagebox(CapyPDF_Page_Box type, Geom::Rect const &size);
28 void paint_drawing(CapyPDF_TransparencyGroupId drawing_id, Geom::Affine const &affine);
29
30 void add_anchors_for_page(SPPage const *page);
31 void annotate(CapyPDF_AnnotationId aid);
32
33protected:
34 friend class Document;
35
36 void finalize();
37
38private:
40 capypdf::PageProperties page_props;
41};
42
43} // namespace Inkscape::Extension::Internal::PdfBuilder
44
45#endif /* !EXTENSION_INTERNAL_PDFOUTPUT_BUILD_PAGE_H */
46
47/*
48 Local Variables:
49 mode:c++
50 c-file-style:"stroustrup"
51 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
52 indent-tabs-mode:nil
53 fill-column:99
54 End:
55*/
56// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
uint64_t page
Definition canvas.cpp:158
3x3 matrix representing an affine transformation.
Definition affine.h:70
Axis aligned, non-empty rectangle.
Definition rect.h:92
static Geom::Affine page_transform(SPPage const *page)
Get the transformation for the given page.
void finalize()
Finalise the page and add any page properties.
void paint_drawing(CapyPDF_TransparencyGroupId drawing_id, Geom::Affine const &affine)
Paint the entire canvas as a transparency group.
void add_anchors_for_page(SPPage const *page)
Add any saved anchors (currently cached in the Document) to this page.
void set_pagebox(CapyPDF_Page_Box type, Geom::Rect const &size)
void annotate(CapyPDF_AnnotationId aid)
Add the created annotation to the page.