QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
pdf_links.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2025 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef PDF_LINKS_H
19#define PDF_LINKS_H
20
21#include <QMap>
22#include <QPointF>
23#include <QRectF>
24#include <QString>
25#include <QTransform>
26#include <functional>
27
28class QPdfEngine;
29class Diagram;
30
38namespace PdfLinks {
39
45 struct PageGeometry {
47 QTransform sceneToDevice;
49 QRectF target;
51 QRectF pageBounds;
53 std::function<QPointF(const QPointF &)> devToPdf;
55 std::function<QRectF(Diagram *)> sourceRectOf;
56 };
57
64 void injectCrossRefLinks(QPdfEngine *engine, Diagram *diagram,
65 const PageGeometry &geom,
66 const QMap<Diagram *, int> &pageMap,
67 const QString &outputFileName);
68
75 void convertUriToGoTo(const QString &pdfPath);
76
78 QString contents;
79 };
80
86 void convertComponentInfoAnnotations(const QString &pdfPath,
87 const QList<ComponentInfo> &annotations);
88
89}
90
91#endif // PDF_LINKS_H
The Diagram class This class represents an electric diagram. It manages its various child elements,...
Definition diagram.h:54