Initial implementation
[harmattan/cameraplus] / lib / qtcamgraphicsviewfinder.h
1 // -*- c++ -*-
2
3 #ifndef QT_CAM_GRAPHICS_VIEWFINDER_H
4 #define QT_CAM_GRAPHICS_VIEWFINDER_H
5
6 #include "qtcamviewfinder.h"
7 #include <QGraphicsWidget>
8
9 class QtCamGraphicsViewfinderPrivate;
10 class QtCamConfig;
11
12 class QtCamGraphicsViewfinder : public QGraphicsWidget, public QtCamViewfinder {
13   Q_OBJECT
14
15 public:
16   QtCamGraphicsViewfinder(QtCamConfig *config, QGraphicsItem *parent = 0);
17   virtual ~QtCamGraphicsViewfinder();
18
19   virtual GstElement *sinkElement();
20   virtual bool setDevice(QtCamDevice *device);
21
22   virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
23                      QWidget *widget = 0);
24
25 protected:
26   void resizeEvent(QGraphicsSceneResizeEvent *event);
27
28 private slots:
29   void updateRequested();
30
31 private:
32   QtCamGraphicsViewfinderPrivate *d_ptr;
33 };
34
35 #endif /* QT_CAM_GRAPHICS_VIEWFINDER_H */