blob: 4f1f1d6b18e668d4b322bee015428369cb50770a [file] [log] [blame]
/*
* 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