From b632caef8d73edb7b5cab0c1b58df723ed654410 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Wed, 07 May 2003 10:21:19 +0000 Subject: restructure tree for inclusion of a command line application enabling the use as a webcam --- (limited to 'noncore/multimedia/camera/lib/zcameraio.h') diff --git a/noncore/multimedia/camera/lib/zcameraio.h b/noncore/multimedia/camera/lib/zcameraio.h new file mode 100644 index 0000000..3352a5e --- a/dev/null +++ b/noncore/multimedia/camera/lib/zcameraio.h @@ -0,0 +1,86 @@ +/********************************************************************** +** Copyright (C) 2003 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. +** +**********************************************************************/ + +#ifndef ZCAMERAIO_H +#define ZCAMERAIO_H + +#include + +class QImage; +class QTime; + +class ZCameraIO : public QObject +{ + Q_OBJECT + + public: + virtual ~ZCameraIO(); + + enum ReadMode + { + IMAGE = 0, STATUS = 1, + FASTER = 0, BETTER = 2, + XNOFLIP = 0, XFLIP = 4, + YNOFLIP = 0, YFLIP = 8, + AUTOMATICFLIP = -1 + }; + + // low level interface + + bool setCaptureFrame( int w, int h, int zoom = 256, bool rot = true ); + bool setZoom( int zoom = 0 ); + void setReadMode( int = IMAGE | XFLIP | YFLIP ); + void setFlip( int flip ); + + bool isShutterPressed(); // not const, because it calls clearShutterLatch + bool isAvailable() const; + bool isCapturing() const; + bool isFinderReversed() const; + + bool snapshot( QImage* image ); + bool snapshot( unsigned char* buf ); + + // high level interface + bool isOpen() const; + static ZCameraIO* instance(); + void captureFrame( int w, int h, int zoom, QImage* image ); + void captureFrame( int w, int h, int zoom, unsigned char* buf ); + + protected: + ZCameraIO(); + void clearShutterLatch(); + void init(); + bool read( char*, int ); + bool write( char*, int = 0 ); + + signals: + void shutterClicked(); + + private: + int _driver; + char _status[4]; + bool _pressed; + static ZCameraIO* _instance; + int _height; + int _width; + int _zoom; + int _flip; + bool _rot; + int _readlen; + + QTime* _timer; +}; + +#endif -- cgit v0.9.0.2