/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Image Formats module.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\title Qt Image Formats
\page qtimageformats-index.html
\brief Qt Image Formats module provides support for extra image file formats.

The core Qt Gui library by default supports reading and writing image
files of the most common file formats: \c PNG, \c JPEG, \c BMP, \c GIF
and a few more, ref. \l {QImage#Reading and Writing Image Files}{Reading
and Writing Image Files}. The Qt Image Formats add-on module provides
optional support for other image file formats.

The file format support is provided transparently, through plugins for
Qt's image I/O system. As such, this module provides no API of its
own. Instead, the functionality is accessed in the same way as other
image I/O in Qt: through QImage::load() and QImage::save(). Or, for
more detailed control, through QImageReader and QImageWriter.

\section1 The Image I/O Plugins

The actual coding and decoding of the file format is done by a codec
library. The codec can be Qt or third party code. In case of a third
party codec, the build process will look for it among the system
libraries. If not found, it may fall back on using a bundled copy (in
\c src/3rdparty).

\table
\header \li Format \li Description                      \li Support      \li 3rd Party Codec
\row    \li ICNS   \li Apple Icon Image                 \li Read/write   \li No
\row    \li JP2    \li Joint Photographic Experts Group 2000 \li Read/write   \li Yes (Not bundled)
\row    \li MNG    \li Multiple-image Network Graphics  \li Read         \li Yes (Not bundled)
\row    \li TGA    \li Truevision Graphics Adapter      \li Read         \li No
\row    \li TIFF   \li Tagged Image File Format         \li Read/write   \li Yes (bundled)
\row    \li WBMP   \li Wireless Bitmap                  \li Read/write   \li No
\row    \li WEBP   \li WebP                             \li Read/write   \li Yes (bundled)
\endtable

\note Some bundled third party codecs are not maintained anymore. They are
provided for manual builds only, and not used as a fallback in case system
libraries are unavailable.

\note For security reasons, the Direct Draw Surface (DDS) handler is not built
by default since Qt 5.8. Users who still want this handler can build it from the
source project.

\section2 Deployment

When built, the Qt Image Formats plugins are located as dynamic
libraries in the runtime plugin directory (typically \c
plugins/imageformats), together with the default image format
plugins. They may be deployed to the target system in the same way as
other plugins, see the \l{Deploying Plugins} documentation.

\section1 Module Evolution
\l{Changes to Qt Image Formats} lists important changes in the module
API and functionality that were done for the Qt 6 series of Qt.

\section1 Licenses and Attributions

Qt Image Formats is available under commercial licenses from \l{The Qt Company}.
In addition, it is available under the
\l{GNU Lesser General Public License, version 3}, or
the \l{GNU General Public License, version 2}.
See \l{Qt Licensing} for further details.

Furthermore Qt Image Formats potentially contains third party
modules under following permissive licenses:

\generatelist{groupsbymodule attributions-qtimageformats}

\section1 Security Considerations

Since these file formats are more rarely used, the codecs may be less
thoroughly debugged against potential security holes. As always, care
should be taken when creating applications that may be used to decode
uncontrolled data files.

*/
