Page layout modes

This commit is contained in:
Jakub Melka
2019-02-03 13:57:37 +01:00
parent 4d7eaf7587
commit 0a28869c94
5 changed files with 191 additions and 0 deletions

View File

@@ -630,6 +630,15 @@ void PDFDrawWidgetProxy::zoom(PDFReal zoom)
}
}
void PDFDrawWidgetProxy::setPageLayout(PageLayout pageLayout)
{
if (getPageLayout() != pageLayout)
{
m_controller->setPageLayout(pageLayout);
emit pageLayoutChanged();
}
}
QRectF PDFDrawWidgetProxy::fromDeviceSpace(const QRectF& rect) const
{
Q_ASSERT(rect.isValid());

View File

@@ -167,10 +167,18 @@ public:
/// and each 1 cm of widget area corresponds to 0.5 cm of the device space area.
PDFReal getZoom() const { return m_zoom; }
/// Sets the page layout. Page layout can be one of the PDF's page layouts.
/// \param pageLayout Page layout
void setPageLayout(PageLayout pageLayout);
/// Returns the page layout
PageLayout getPageLayout() const { return m_controller->getPageLayout(); }
static constexpr PDFReal ZOOM_STEP = 1.2;
signals:
void drawSpaceChanged();
void pageLayoutChanged();
private:
struct LayoutItem