summaryrefslogtreecommitdiffstats
path: root/applications/rview/rviewIO.hh
diff options
context:
space:
mode:
Diffstat (limited to 'applications/rview/rviewIO.hh')
-rw-r--r--applications/rview/rviewIO.hh121
1 files changed, 121 insertions, 0 deletions
diff --git a/applications/rview/rviewIO.hh b/applications/rview/rviewIO.hh
new file mode 100644
index 0000000..dfede12
--- /dev/null
+++ b/applications/rview/rviewIO.hh
@@ -0,0 +1,121 @@
+/*
+* This file is part of rasdaman community.
+*
+* Rasdaman community is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* Rasdaman community is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+*
+* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+rasdaman GmbH.
+*
+* For more information please see <http://www.rasdaman.org>
+* or contact Peter Baumann via <baumann@rasdaman.com>.
+/
+
+/**
+ * PURPOSE:
+ *
+ * rView data exchange interface for storing MDD to the filing system
+ * or loading from it. Currently supported operations are:
+ * - Load TIFF file.
+ * - Save wxPixmap as TIFF to file.
+ *
+ * COMMENTS:
+ * None
+ */
+
+
+
+#ifndef _RVIEW_IO_H_
+#define _RVIEW_IO_H_
+
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+
+
+#include "rasodmg/ref.hh"
+#include "rasodmg/marray.hh"
+#include "rasodmg/gmarray.hh"
+
+#include "rviewUtils.hh"
+
+
+
+// Return status
+enum rviewIoStates {
+ RVIEW_IO_OK,
+ RVIEW_IO_NOTFOUND,
+ RVIEW_IO_MEMORY,
+ RVIEW_IO_UNSUPP,
+ RVIEW_IO_FORMAT
+};
+
+
+// pixmap conversion functions
+class wxPixmap;
+
+// parameter parser
+class r_Parse_Params;
+
+
+class rviewIO
+{
+ public:
+
+ rviewIO(void);
+ ~rviewIO(void);
+
+ static void terminate(void);
+
+ static int isTIFF(const char *filename);
+ static int loadTIFF(const char *filename, r_Ref<r_GMarray> &mddPtr, const char *params=NULL);
+ static int saveTIFF(const char *filename, r_Ref<r_GMarray> &mddPtr, const char *params=NULL);
+ static int PixmapToTIFF(wxPixmap *pixmap, const char *filename, const char *params=NULL);
+ static int isVFF(const char *filename);
+ static int loadVFF(const char *filename, r_Ref<r_GMarray> &mddPtr, const char *params=NULL);
+ static int saveVFF(const char *filename, r_Ref<r_GMarray> &mddPtr, const char *params=NULL);
+
+
+ private:
+
+ static void ensureParams(void);
+ static void processParams(const char *params);
+
+ static r_Parse_Params *dfltParams;
+ static char *tiffCompStr;
+ static int tiffCompression;
+
+ static const char *getExtension(const char *filename);
+
+ // tiff compression keywords
+ static const char param_KeyTiffComp[];
+ static const char param_TiffCompNone[];
+ static const char param_TiffCompPack[];
+ static const char param_TiffCompLZW[];
+ static const char param_TiffCompZLib[];
+ static const char param_TiffCompJPEG[];
+
+ // TIFF formats
+ static const char structure_format_mono[];
+ static const char structure_format_grey[];
+ static const char structure_format_rgb[];
+
+ // VFF formats
+ static const char structure_format_cube8[];
+ static const char structure_format_cube16[];
+ static const char structure_format_cube32[];
+};
+
+#endif