summaryrefslogtreecommitdiff
path: root/noncore/multimedia/camera/gui/previewwidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/camera/gui/previewwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/camera/gui/previewwidget.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/noncore/multimedia/camera/gui/previewwidget.cpp b/noncore/multimedia/camera/gui/previewwidget.cpp
new file mode 100644
index 0000000..08330d0
--- a/dev/null
+++ b/noncore/multimedia/camera/gui/previewwidget.cpp
@@ -0,0 +1,88 @@
+/**********************************************************************
+** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
+**
+** This file is part of Opie Environment.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+**********************************************************************/
+
+#include "previewwidget.h"
+#include "zcameraio.h"
+
+#include <opie2/odebug.h>
+
+#include <assert.h>
+
+PreviewWidget::PreviewWidget( QWidget * parent, const char * name, WFlags f )
+ :QLabel( parent, name, f )
+{
+ #ifndef QT_NO_DEBUG
+ setBackgroundColor( QColor( 255, 0, 0 ) );
+ #else
+ setBackgroundMode( NoBackground );
+ #endif
+
+ #ifndef QT_NO_DEBUG
+ if ( ZCameraIO::instance()->isOpen() ) startTimer( 1500 );
+ #else
+ if ( ZCameraIO::instance()->isOpen() ) startTimer( 200 );
+ #endif
+};
+
+
+PreviewWidget::~PreviewWidget()
+{
+}
+
+
+void PreviewWidget::resizeEvent( QResizeEvent* e )
+{
+ QLabel::resizeEvent( e );
+ int w = e->size().width();
+ int h = e->size().height();
+ ZCameraIO::instance()->setCaptureFrame( e->size().width(),
+ e->size().height(),
+ 256,
+ w < h );
+}
+
+
+void PreviewWidget::timerEvent( QTimerEvent* )
+{
+ //QDirectPainter fb( this );
+ //ZCameraIO::instance()->snapshot( fb.frameBuffer() );
+
+ if ( ZCameraIO::instance()->snapshot( &i ) )
+ {
+ p.convertFromImage( i );
+ setPixmap( p );
+ }
+}
+
+
+void PreviewWidget::mousePressEvent( QMouseEvent* )
+{
+ emit contextMenuRequested();
+}
+
+
+void PreviewWidget::setRefreshingRate( int ms )
+{
+ killTimers();
+ if ( ms )
+ startTimer( ms );
+}
+
+
+void PreviewWidget::refresh()
+{
+ QTimerEvent t( 10 ); // event id is meaningless in this case
+ timerEvent( &t );
+}