Update to 2.0.0 tree from current Fremantle build
[opencv] / src / highgui / grfmt_imageio.h
diff --git a/src/highgui/grfmt_imageio.h b/src/highgui/grfmt_imageio.h
new file mode 100644 (file)
index 0000000..06a9664
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ *  grfmt_imageio.h
+ *  
+ *
+ *  Created by Morgan Conbere on 5/17/07.
+ *
+ */
+
+#ifndef _GRFMT_IMAGEIO_H_
+#define _GRFMT_IMAGEIO_H_
+
+#ifdef HAVE_IMAGEIO
+
+#include "grfmt_base.h"
+#include <ApplicationServices/ApplicationServices.h>
+
+namespace cv
+{
+
+class ImageIODecoder : public BaseImageDecoder
+{
+public:
+    
+    ImageIODecoder();
+    ~ImageIODecoder();
+    
+    bool  readData( Mat& img );
+    bool  readHeader();
+    void  close();
+    
+    size_t signatureLength() const;
+    bool checkSignature( const string& signature ) const;
+
+    ImageDecoder newDecoder() const;
+
+protected:
+    
+    CGImageRef imageRef;
+};
+
+class ImageIOEncoder : public BaseImageEncoder
+{
+public:
+    ImageIOEncoder();
+    ~ImageIOEncoder();
+
+    bool  write( const Mat& img, const vector<int>& params );
+
+    ImageEncoder newEncoder() const;
+};
+
+}
+
+#endif/*HAVE_IMAGEIO*/
+
+#endif/*_GRFMT_IMAGEIO_H_*/