webengine/osswebengine/WebKit/qt/Plugins/ICOHandler.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/qt/Plugins/ICOHandler.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,52 @@
+/*
+ * ico.h - kimgio import filter for MS Windows .ico files
+ *
+ * Distributed under the terms of the LGPL
+ * Copyright (c) 2000 Malte Starostik <malte@kde.org>
+ *
+ */
+
+// You can use QImageIO::setParameters() to request a specific
+// Icon out of an .ico file:
+//
+// Options consist of a name=value pair and are separated by a semicolon.
+// Available options are:
+//     size=<size>   select the icon that most closely matches <size> (pixels)
+//                   default: 32
+//     colors=<num>  select the icon that has <num> colors (or comes closest)
+//                   default: 1 << display depth or 0 (RGB) if display depth > 8
+//     index=<index> select the indexth icon from the file. If this option
+//                   is present, the size and colors options will be ignored.
+//                   default: none
+// If both size and colors are given, size takes precedence.
+//
+// The old format is still supported:
+//     the parameters consist of a single string in the form
+//     "<size>[:<colors>]" which correspond to the options above
+//
+// If an icon was returned (i.e. the file is valid and the index option
+// if present was not out of range), the icon's index within the .ico
+// file is returned in the text tag "X-Index" of the image.
+// If the icon is in fact a cursor, its hotspot coordinates are returned
+// in the text tags "X-HotspotX" and "X-HotspotY".
+
+#ifndef _ICOHANDLER_H_
+#define _ICOHANDLER_H_
+
+#include <QtGui/QImageIOPlugin>
+
+class ICOHandler : public QImageIOHandler
+{
+public:
+    ICOHandler();
+
+    bool canRead() const;
+    bool read(QImage *image);
+    bool write(const QImage &image);
+
+    QByteArray name() const;
+
+    static bool canRead(QIODevice *device);
+};
+
+#endif