QtCamConfig *conf;
QtCamDevice *dev;
QtCamGraphicsViewfinder *q_ptr;
+ bool enabled;
};
QtCamGraphicsViewfinder::QtCamGraphicsViewfinder(QtCamConfig *config, QGraphicsItem *parent) :
d_ptr->dev = 0;
d_ptr->renderer = 0;
d_ptr->q_ptr = this;
+ d_ptr->enabled = true;
}
QtCamGraphicsViewfinder::~QtCamGraphicsViewfinder() {
painter->fillRect(boundingRect(), Qt::black);
- if (!d_ptr->renderer) {
+ if (!d_ptr->renderer || !d_ptr->enabled) {
return;
}
}
void QtCamGraphicsViewfinder::updateRequested() {
- update();
+ if (d_ptr->enabled) {
+ update();
+ }
}
void QtCamGraphicsViewfinder::stop() {
d_ptr->resetBackend();
+
+ setRenderingEnabled(true);
}
QRectF QtCamGraphicsViewfinder::renderArea() const {
return d_ptr->renderer->videoResolution();
}
+
+bool QtCamGraphicsViewfinder::isRenderingEnabled() const {
+ return d_ptr->enabled;
+}
+
+void QtCamGraphicsViewfinder::setRenderingEnabled(bool enabled) {
+ if (d_ptr->enabled != enabled) {
+ d_ptr->enabled = enabled;
+
+ emit renderingEnabledChanged();
+ }
+}