Skip to content

Commit 66999e4

Browse files
committedMar 16, 2025·
Generate bindings for Qt6 Pdf
1 parent ae94abd commit 66999e4

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed
 

‎build.d

+10
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,7 @@ int main(string[] args)
503503
string[] baseArchives;
504504
string webengineArchive;
505505
string multimediaArchive;
506+
string pdfArchive;
506507
string[] docArchives;
507508
this()
508509
{
@@ -514,6 +515,7 @@ int main(string[] args)
514515
];
515516
webengineArchive = "6.4.2-0-202212131055qtwebengine-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
516517
multimediaArchive = "6.4.2-0-202212131055qtmultimedia-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
518+
pdfArchive = "6.4.2-0-202212131055qtpdf-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
517519
docArchives = [
518520
"qt.qt6.642.doc/6.4.2-0-202212131055qtcore-documentation.7z",
519521
"qt.qt6.642.doc/6.4.2-0-202212131055qtgui-documentation.7z",
@@ -524,6 +526,7 @@ int main(string[] args)
524526
"qt.qt6.642.doc/6.4.2-0-202212131055qtquickcontrols-documentation.7z",
525527
"qt.qt6.642.doc.qtwebengine/6.4.2-0-202212131055qtwebengine-documentation.7z",
526528
"qt.qt6.642.doc.qtmultimedia/6.4.2-0-202212131055qtmultimedia-documentation.7z",
529+
"qt.qt6.642.doc.qtpdf/6.4.2-0-202212131055qtpdf-documentation.7z",
527530
];
528531
archiveExtracted = "6.4.2";
529532
sourceFiles = ["qt6/allincludes.cpp"];
@@ -543,6 +546,9 @@ int main(string[] args)
543546
"-Iqt6/orig/qtmultimedia",
544547
"-Iqt6/orig/qtmultimedia/QtMultimedia",
545548
"-Iqt6/orig/qtmultimedia/QtMultimediaWidgets",
549+
"-Iqt6/orig/qtpdf",
550+
"-Iqt6/orig/qtpdf/QtPdf",
551+
"-Iqt6/orig/qtpdf/QtPdfWidgets",
546552
"-Igcc-rt/orig/include-cxx",
547553
"-Igcc-rt/orig/include-cxx/platform-generic",
548554
"-include", "common/prefixinclude.h",
@@ -559,6 +565,7 @@ int main(string[] args)
559565

560566
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.addons.qtwebengine.gcc_64/" ~ webengineArchive, projectDir ~ "/" ~ webengineArchive, verbose);
561567
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.addons.qtmultimedia.gcc_64/" ~ multimediaArchive, projectDir ~ "/" ~ multimediaArchive, verbose);
568+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.addons.qtpdf.gcc_64/" ~ pdfArchive, projectDir ~ "/" ~ pdfArchive, verbose);
562569

563570
foreach (a; docArchives)
564571
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642_src_doc_examples/" ~ a, projectDir ~ "/" ~ baseName(a), verbose);
@@ -576,6 +583,9 @@ int main(string[] args)
576583
runCommand(["7z", "x", multimediaArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
577584
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtmultimedia"));
578585

586+
runCommand(["7z", "x", pdfArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
587+
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtpdf"));
588+
579589
foreach (a; docArchives)
580590
runCommand(["7z", "x", baseName(a), "Docs/"], verbose, projectDir);
581591

‎projects/qt6/allincludes.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -667,3 +667,21 @@
667667
//#include <QtMultimediaWidgets/qtmultimediawidgetsglobal.h>
668668
//#include <QtMultimediaWidgets/qtmultimediawidgetsversion.h>
669669
#include <QtMultimediaWidgets/qvideowidget.h>
670+
671+
// QtPdf
672+
#include <QtPdf/qpdfbookmarkmodel.h>
673+
#include <QtPdf/qpdfdocument.h>
674+
#include <QtPdf/qpdfdocumentrenderoptions.h>
675+
#include <QtPdf/qpdflink.h>
676+
#include <QtPdf/qpdfpagenavigator.h>
677+
#include <QtPdf/qpdfpagerenderer.h>
678+
#include <QtPdf/qpdfsearchmodel.h>
679+
#include <QtPdf/qpdfselection.h>
680+
//#include <QtPdf/qtpdfglobal.h>
681+
//#include <QtPdf/qtpdfversion.h>
682+
//#include <QtPdf/qtpdf-config.h>
683+
684+
// QtPdfWidgets
685+
#include <QtPdfWidgets/qpdfview.h>
686+
//#include <QtPdfWidgets/qtpdfwidgetsglobal.h>
687+
//#include <QtPdfWidgets/qtpdfwidgetsversion.h>

‎projects/qt6/output-config.json

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>.*)/q(?P<M>.*).h"}, "moduleName": "qt.\\L%P.%M"},
3131
{"match": {"filename": "qt[0-9]*/orig/qtwebengine/Qt(?P<P>.*)/qt?webengine(?P<M>.*).h"}, "moduleName": "qt.webengine.\\L%M", "extraPrefix": "\\L%P"},
3232
{"match": {"filename": "qt[0-9]*/orig/qtmultimedia/Qt(?P<P>.*)/q(?P<M>.*).h"}, "moduleName": "qt.multimedia.\\L%M", "extraPrefix": "\\L%P"},
33+
{"match": {"filename": "qt[0-9]*/orig/qtpdf/Qt(?P<P>.*)/qt?pdf(?P<M>.*).h"}, "moduleName": "qt.pdf.\\L%M", "extraPrefix": "\\L%P"},
3334
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>Qml)/qt?qml(?P<M>..*).h"}, "moduleName": "qt.\\L%P.\\L%M"},
3435
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>Quick.*)/qt?quick(?P<M>.*).h"}, "moduleName": "qt.\\L%P.\\L%M"},
3536

‎projects/qt6/prefixinclude.h

+3
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,6 @@ template<int> struct QIntegerForSize
235235
#undef QQMLLISTPROPERTY
236236

237237
#undef Q_L1S_VIEW_IS_PRIMARY
238+
239+
#undef Q_PDF_EXPORT
240+
#undef Q_PDF_WIDGETS_EXPORT

0 commit comments

Comments
 (0)
Please sign in to comment.