summaryrefslogtreecommitdiff
path: root/noncore/multimedia/camera/zcameraio.h
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/camera/zcameraio.h') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/camera/zcameraio.h22
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