Diffstat (limited to 'noncore/multimedia/camera/zcameraio.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/camera/zcameraio.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/noncore/multimedia/camera/zcameraio.h b/noncore/multimedia/camera/zcameraio.h index 9d4b1d7..edce143 100644 --- a/noncore/multimedia/camera/zcameraio.h +++ b/noncore/multimedia/camera/zcameraio.h @@ -13,53 +13,69 @@ ** **********************************************************************/ #ifndef ZCAMERAIO_H #define ZCAMERAIO_H +#include <qobject.h> + class QImage; +class QTime; -class ZCameraIO +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 }; + // 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 ); bool isShutterPressed(); // not const, because it calls clearShutterLatch bool isAvailable() const; bool isCapturing() const; bool isFinderReversed() const; - bool isOpen() const; - bool snapshot( QImage* ); bool snapshot( unsigned char* ); + bool snapshot( QImage* ); + + // high level interface + bool isOpen() const; static ZCameraIO* instance(); + void captureFrame( int w, int h, int zoom, QImage* image ); protected: ZCameraIO(); void clearShutterLatch(); void init(); bool read( char*, int ); bool write( char*, int = 0 ); + signals: + void shutterClicked(); + private: int _driver; char _status[4]; static ZCameraIO* _instance; int _height; int _width; int _zoom; bool _rot; int _readlen; + + QTime* _timer; }; #endif |