]> Creatis software - clitk.git/blobdiff - utilities/CxImage/xmemfile.h
CxImage sources taken from
[clitk.git] / utilities / CxImage / xmemfile.h
diff --git a/utilities/CxImage/xmemfile.h b/utilities/CxImage/xmemfile.h
new file mode 100644 (file)
index 0000000..ac4c412
--- /dev/null
@@ -0,0 +1,41 @@
+#if !defined(__xmemfile_h)\r
+#define __xmemfile_h\r
+\r
+#include "xfile.h"\r
+\r
+//////////////////////////////////////////////////////////\r
+class DLL_EXP CxMemFile : public CxFile\r
+{\r
+public:\r
+       CxMemFile(BYTE* pBuffer = NULL, DWORD size = 0);\r
+       ~CxMemFile();\r
+\r
+       bool Open();\r
+       BYTE* GetBuffer(bool bDetachBuffer = true);\r
+\r
+       virtual bool    Close();\r
+       virtual size_t  Read(void *buffer, size_t size, size_t count);\r
+       virtual size_t  Write(const void *buffer, size_t size, size_t count);\r
+       virtual bool    Seek(long offset, int origin);\r
+       virtual long    Tell();\r
+       virtual long    Size();\r
+       virtual bool    Flush();\r
+       virtual bool    Eof();\r
+       virtual long    Error();\r
+       virtual bool    PutC(unsigned char c);\r
+       virtual long    GetC();\r
+       virtual char *  GetS(char *string, int n);\r
+       virtual long    Scanf(const char *format, void* output);\r
+\r
+protected:\r
+       bool    Alloc(DWORD nBytes);\r
+       void    Free();\r
+\r
+       BYTE*   m_pBuffer;\r
+       DWORD   m_Size;\r
+       bool    m_bFreeOnClose;\r
+       long    m_Position;     //current position\r
+       long    m_Edge;         //buffer size\r
+};\r
+\r
+#endif\r