X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PDFWidget.hh;h=9a8246106b08d049084554abfa14a87a603e68ac;hb=492b7564dff24f776491ec2308e2de4f1ff21119;hp=bbb7e5101c98255223718cc564baa2e8e97fbe21;hpb=37d3472d9de0b152d362d9dba1d7453b0976a626;p=pykit.git diff --git a/PDFWidget.hh b/PDFWidget.hh index bbb7e51..9a82461 100644 --- a/PDFWidget.hh +++ b/PDFWidget.hh @@ -27,12 +27,28 @@ namespace pykit { { Q_OBJECT; public: - explicit PDFWidget(QNetworkAccessManager * manager, QWidget * parent = 0); - PDFWidget(QString const & document, QNetworkAccessManager * manager, + explicit PDFWidget(QString const & id, QNetworkAccessManager * manager, + QWidget * parent = 0); + PDFWidget(QString const & id, QString const & document, QNetworkAccessManager * manager, QWidget * parent = 0); void load(QUrl const & url); + public slots: + void zoomIn(); + void zoomOut(); + void zoomDPI(double dpi); + + int zoomWidth(int w = -1); + int zoomHeight(); + void zoomFit(); + + int getPDFWidth(); + int getPDFHeight(); + + protected: + virtual void resizeEvent(QResizeEvent * event); + private slots: void netLoadDocument(); @@ -40,9 +56,19 @@ namespace pykit { void documentSetup(); void showPage(); + enum ZoomMode { Manual, Width, Height, Fit }; + static double const ZoomStepDpi = 20.0; + static double const ZoomMaxDpi = 200.0; + static double const ZoomMinDpi = 50.0; + + QString id_; QNetworkAccessManager * manager_; boost::scoped_ptr document_; int currentPage_; + ZoomMode zoomMode_; + double dpi_; + int x_; + int y_; }; }