Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Z/src/nglwidgets/nglpdfwidget.h
T
2026-09-01 12:27:57 +02:00

61 lines
1.2 KiB
C++
Executable File

#pragma once
#include <QtWidgets/QWidget>
#include <memory>
#include "nglwidgets_export.h"
#ifdef HAVE_POPPLER_QT6
#include <poppler/qt6/poppler-qt6.h>
#endif
class QUrl;
namespace Ui
{
class pdfWidget;
}
namespace NGL
{
class NGLWIDGETS_EXPORT PDFWidget : public QWidget
{
Q_OBJECT
public:
explicit PDFWidget(QWidget *parent = nullptr);
~PDFWidget();
bool showPDF(const QUrl &pdf);
bool showPDF(const QByteArray &pdf);
void setZoomFactor(double newZoomFactor);
#ifdef HAVE_POPPLER_QT6
void setRotation(Poppler::Page::Rotation rot);
#endif
bool setPage(int newPage);
#ifdef HAVE_POPPLER_QT6
QVector<QImage> getPrintableImages(int resolution = 300) const;
void resizePdfToWidth();
#endif
int numPages() const;
int curPage() const;
Q_SIGNALS:
void currentPageChanged(int cur, int max);
#ifdef HAVE_POPPLER_QT6
void rotationChanged(Poppler::Page::Rotation newRotation);
#endif
protected Q_SLOTS:
void pageChanged(int cur, int max);
#ifdef HAVE_POPPLER_QT6
void rotate();
void onZoomDefault();
void onZoomFull();
void onZoomMinus();
void onZoomPlus();
#endif
protected:
double m_zoomFactor{1.0};
std::unique_ptr<Ui::pdfWidget> ui;
};
}