/*!
* This file is part of CameraPlus.
*
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
class QtCamConfig;
class QMetaObject;
-class QPainter;
+class QMatrix4x4;
class QSizeF;
class QtCamViewfinderRenderer : public QObject {
virtual ~QtCamViewfinderRenderer();
- virtual void paint(QPainter *painter) = 0;
+ virtual void paint(const QMatrix4x4& matrix, const QRectF& viewport) = 0;
virtual void resize(const QSizeF& size) = 0;
virtual void reset() = 0;
virtual GstElement *sinkElement() = 0;
virtual QRectF renderArea() = 0;
+ virtual QSizeF videoResolution() = 0;
+
+ virtual bool needsNativePainting() = 0;
protected:
QtCamViewfinderRenderer(QtCamConfig *config, QObject *parent = 0);
signals:
void updateRequested();
void renderAreaChanged();
+ void videoResolutionChanged();
};
#define QT_CAM_VIEWFINDER_RENDERER(key, klass) \