summaryrefslogtreecommitdiff
path: root/noncore/unsupported/qpdf/QPEOutputDev.h
blob: 7f1e527224b22f7781b7f66f8d857cfba3546543 (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
#ifndef __QPE_OUTPUTDEV_H__
#define __QPE_OUTPUTDEV_H__

#include "QOutputDev.h"

class QLabel;
class QBusyBar;

class QPEOutputDev : public QOutputDev {
	Q_OBJECT

public:
	QPEOutputDev ( QWidget *parent = 0, const char *name = 0 );

	void setPageCount ( int actp, int maxp );

	virtual void setBusy ( bool b = true );
	virtual bool isBusy ( ) const;

	QRect selection ( ) const;
	void setSelection ( const QRect &r, bool scrollto = false );

	virtual void startPage ( int pn, GfxState *gs );

signals:
	void selectionChanged ( const QRect &sel );

protected:
	virtual void setHBarGeometry ( QScrollBar &hbar, int x, int y, int w, int h );
	
	virtual void keyPressEvent ( QKeyEvent *e );
	virtual void viewportMousePressEvent ( QMouseEvent *e );
	virtual void viewportMouseMoveEvent ( QMouseEvent *e ); 
	virtual void viewportMouseReleaseEvent ( QMouseEvent *e );
	
	virtual void drawContents ( QPainter *p, int, int, int, int );

private:
	QLabel *m_counter;
	QBusyBar *m_busybar;
	bool m_isbusy;

	QRect   m_selection;
	QPoint  m_selectionstart;
	QPoint  m_selectioncursor;
	bool    m_selectiondrag;
};

#endif