summaryrefslogtreecommitdiffstats
path: root/tdeio/tdeio/kimageio.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/tdeio/kimageio.h')
-rw-r--r--tdeio/tdeio/kimageio.h170
1 files changed, 170 insertions, 0 deletions
diff --git a/tdeio/tdeio/kimageio.h b/tdeio/tdeio/kimageio.h
new file mode 100644
index 000000000..671fb5f61
--- /dev/null
+++ b/tdeio/tdeio/kimageio.h
@@ -0,0 +1,170 @@
+/*
+* kimageio.h -- Declaration of interface to the KDE Image IO library.
+* Sirtaj Singh Kang <taj@kde.org>, 23 Sep 1998.
+*
+* This library is distributed under the conditions of the GNU LGPL.
+*/
+
+#ifndef SSK_KIMGIO_H
+#define SSK_KIMGIO_H
+
+#include <tqstringlist.h>
+
+#include <tdelibs_export.h>
+
+/**
+ * Interface to the KDE Image IO plugin architecture.
+ *
+ * This library allows KDE applications to read and write images in a
+ * variety of formats, transparently via the TQImage and TQPixmap load
+ * and save methods.
+ *
+ * The image processing backends are written as image handlers compatible
+ * with the TQImageIO handler format. The backends are loaded on demand
+ * when a particular format is requested. Each format can be identified
+ * by a unique type id string.
+ *
+ * \b Formats:
+ *
+ * Currently supported formats include:
+ * @li BMP \<read\> \<write\>
+ * @li EPS \<read\> \<write\>
+ * @li EXR \<read\>
+ * @li G3 \<read\>
+ * @li GIF \<read\>
+ * @li ICO \<read\>
+ * @li JP2 \<read\> \<write\>
+ * @li JPEG \<read\> \<write\>
+ * @li NETPBM \<read\> \<write\>
+ * @li PCX \<read\> \<write\>
+ * @li PNG \<read\> \<write, only with newer libraries\>
+ * @li TGA \<read\> \<write\>
+ * @li TIFF \<read\>
+ * @li XBM \<read\> \<write\>
+ * @li XPM \<read\> \<write\>
+ * @li XV \<read\> \<write\>
+ *
+ * \b Usage:
+ *
+ * Simply call the KImageIO::registerFormats() static method declared
+ * in kimageio.h.
+ *
+ * \b Example:
+ *
+ * \code
+ * #include<tqpixmap.h>
+ * #include<kimageio.h>
+ *
+ * int main( int argc, char **argv )
+ * {
+ * ....
+ * KImageIO::registerFormats();
+ * ... // start main program
+ * }
+ * \endcode
+ *
+ * @see KImageIO, TQPixmap, TQImage, QImageIO
+ * @author Sirtaj Singh Kang
+ */
+class TDEIO_EXPORT KImageIO
+{
+public:
+ /**
+ * Possible image file access modes.
+ *
+ * Used in various KImageIO static function.
+ **/
+ enum Mode { Reading, Writing };
+
+ /**
+ * Registers all KImageIO supported formats.
+ */
+ static void registerFormats();
+
+ /**
+ * Checks if a special type is supported for writing.
+ * @param type the type id of the image type
+ * @return true if the image format can be written
+ */
+ static bool canWrite(const TQString& type);
+
+ /**
+ * Checks if a special type is supported for reading.
+ * @param type the type id of the image type
+ * @return true if the image format can be read
+ */
+ static bool canRead(const TQString& type);
+
+ /**
+ * Returns a list of all KImageIO supported formats.
+ *
+ * @param mode Tells whether to retrieve modes that can be read or written.
+ * @return a list of the type ids
+ */
+ static TQStringList types(Mode mode = Writing);
+
+
+ /**
+ * Returns a list of patterns of all KImageIO supported formats.
+ *
+ * These patterns can be passed to KFileDialog::getOpenFileName()
+ * or KFileDialog::getSaveFileName(), for example.
+ *
+ * @param mode Tells whether to retrieve modes that can be read or written.
+ * @return a space-separated list of file globs that describe the
+ * supported formats
+ */
+ static TQString pattern(Mode mode = Reading);
+
+ /**
+ * Returns the suffix of an image type.
+ * @param type the type id of the file format
+ * @return the suffix of the file format or TQString::null if it does not
+ * exist
+ */
+ static TQString suffix(const TQString& type);
+
+ /**
+ * Returns the type of a MIME type.
+ * @param mimeType the MIME type to search
+ * @return type id of the MIME type or TQString::null if the MIME type
+ * is not supported
+ * @since 3.1
+ */
+ static TQString typeForMime(const TQString& mimeType);
+
+ /**
+ * Returns the type of given filename.
+ * @param filename the filename to check
+ * @return if the file name's suffix is known the type id of the
+ * file type, otherwise TQString::null
+ */
+ static TQString type(const TQString& filename);
+
+ /**
+ * Returns a list of MIME types for all KImageIO supported formats.
+ *
+ * @param mode Tells whether to retrieve modes that can be read or written.
+ * @return a list if MIME types of the supported formats
+ */
+ static TQStringList mimeTypes( Mode mode = Writing );
+
+ /**
+ * Test to see whether a MIME type is supported to reading/writing.
+ * @param _mimeType the MIME type to check
+ * @param _mode Tells whether to check for reading or writing capabilities
+ * @return true if the type is supported
+ **/
+ static bool isSupported( const TQString& _mimeType, Mode _mode = Writing );
+
+ /**
+ * Returns the MIME type of @p _filename.
+ * @param _filename the filename to check
+ * @return the MIME type of the file, or TQString::null
+ **/
+ static TQString mimeType( const TQString& _filename );
+};
+
+
+#endif
+