Ian Jauslin
summaryrefslogtreecommitdiff
blob: e3415d3eb47e79d941d26d29b413e3976baf6f49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
Copyright 2015 Ian Jauslin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

#ifndef PDFWINDOW_H
#define PDFWINDOW_H

#include <QMainWindow>
#include <poppler/qt4/poppler-qt4.h>
#include <iostream>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QBoxLayout>


class pdfWindow : public QMainWindow
{
    Q_OBJECT

public:
    // PDF document path
    char* doc;
    // current page
    int curpage;
    int totalpages;
    // is fullscreen ?
    bool fullscreen;
    // offset for pdfView
    int verticalOffset;

    // constructor
    explicit pdfWindow(QWidget *parent = 0);
    void setDoc(char* file);
    void gotoPage(int page);
    void nextPage();
    void previousPage();
    // toggle fullscreen
    void fullscreenPDF();
    // destructor
    ~pdfWindow();


protected:
    // document
    Poppler::Document* document;
    // to draw the view
    QGraphicsScene* pdfViewScene;
    QGraphicsView* pdfView;

    // display PDF
    void updatePDF();
    // respond to window resize
    void resizeEvent(QResizeEvent* event);
};

#endif // PDFWINDOW_H