summaryrefslogtreecommitdiff
path: root/noncore/multimedia/camera/zcameraio.h
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/camera/zcameraio.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/camera/zcameraio.h35
1 files changed, 32 insertions, 3 deletions
diff --git a/noncore/multimedia/camera/zcameraio.h b/noncore/multimedia/camera/zcameraio.h
index 1690aa6..bc4926b 100644
--- a/noncore/multimedia/camera/zcameraio.h
+++ b/noncore/multimedia/camera/zcameraio.h
@@ -21,16 +21,45 @@ class QImage;
class ZCameraIO
{
public:
- ZCameraIO();
virtual ~ZCameraIO();
- bool isOpen() const { return _driver != -1; };
+ enum ReadMode
+ {
+ IMAGE = 0, STATUS = 1,
+ FASTER = 0, BETTER = 2,
+ XNOFLIP = 0, XFLIP = 4,
+ YNOFLIP = 0, YFLIP = 8
+ };
+
+ bool setCaptureFrame( int w, int h, int zoom = 256, bool rot = true );
+ 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* );
- static ZCameraIO* instance() { return _instance; };
+ bool snapshot( unsigned char* );
+ static ZCameraIO* instance();
+
+ protected:
+ ZCameraIO();
+ void clearShutterLatch();
+ void init();
+ bool read( char*, int );
+ bool write( char*, int = 0 );
private:
int _driver;
+ char _status[4];
static ZCameraIO* _instance;
+ int _height;
+ int _width;
+ int _zoom;
+ bool _rot;
+ int _readlen;
};
#endif