/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $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$
**
****************************************************************************/

/*!
    \page whatsnew54.html
    \title What's New in Qt 5.4
    \brief Lists the new features in Qt 5.4.

    The focus for Qt 5.4 is mainly about improving the stability, performance,
    and first-time user experience of the product.

    \section1 New Modules

    \list
    \li \l[QtWebChannel]{Qt WebChannel}
    \li \l[QtWebEngine]{Qt WebEngine}
    \li \l[QtWebEngineWidgets]{Qt WebEngine Widgets}
    \li \l[QtPlatformHeaders]{Qt Platform Headers}
    \endlist

    \section1 New Supported Platforms

    \list
    \li Qt for \WinRT now a supported platform
    \li Windows Phone 8.1 minimum supported version
    \endlist

    \section1 New Features in Qt 5.4

    \section2 Qt GUI Module
    \list
    \li QOpenGLContext is now able to adopt existing native contexts
        (EGL, GLX, and so on). This allows interoperability among Qt and other
        frameworks, such as game engines.
    \li OpenGL ES 3.0/3.1 support is improved. The header file for the highest
    usable ES version (gl31.h, gl3.h or gl2.h) is now automatically included by
    Qt's headers in -opengl es2 builds. Vertex array objects, framebuffer blits
    and multisampling are now supported via the standard GLES3 functions, where
    applicable.
    \li Selecting the dynamic OpenGL implementation on application startup is
    now available on Windows when configured with _-opengl dynamic_. This allows
    using either opengl32.dll or ANGLE's OpenGL ES 2.0 implementation in Qt and
    applications without the need for two separate builds of the binaries.
    \li QOpenGLWidget: The modern replacement for QGLWidget and the counterpart
    of QQuickWidget.
    \li QOpenGLWindow: Convenience class for performing OpenGL drawing onto a
    QWindow.
    \li QRasterWindow: Covenience class for performing software-based drawing
    via QPainter onto a QWindow.
    \li Support for 10-bit per color channels images. These can be rendered to
    and from, though internally the raster engine will still use 8-bit per
    color channel. If used as the internal format of a QOpenGLFramebufferObject,
    the OpenGL paint engine is able to render in full precision if supported by
    the OpenGL driver.
    \li \WinRT: Added support for native file dialogs.
    \endlist

    \section2 Qt Core Module
    \list
    \li \WinRT: Added support for native settings container (local and roaming).
    \li QStorageInfo: Class for providing information about currently mounted
    storage volumes and drives.
    \li QByteArrayList: Convenience class adding similar extra methods on top
    of QList<QByteArray> as QStringList does to QList<QString>.
    \li QTabletEvent: several improvements to the input information: added
    information about the stylus buttons being pressed, the rotation and
    tangential pressures now have consistent ranges across platforms, the
    proximity events now include the type of stylus or other tool in use, and
    manual tests and debug output are improved for better verification of
    functionality.
    \endlist

    \section2 Qt Widgets Module
    \list
    \li Improved scaling of widget styles based on DPI.
    \endlist

    \section2 Qt Quick Module
    \list
    \li QQuickRenderControl is made public. This API allows efficient rendering
    of Qt Quick 2 scenes into framebuffer objects. The contents can then be used
    in arbitrary ways in Qt-based or 3rd party OpenGL renderers.
    \li Introduced overlay and \e{pull back} headers and footers for ListView.
    \li Added QQuickFontMetrics, which provides a subset of QFontMetricsF's API.
    \li Added QQuickTextMetrics, which provides a declarative API for the
    QFontMetricsF function arguments.
    \li QQuickWidget is now supported on Android.
    \endlist

    \section2 Qt Quick Controls Module
    \list
    \li Native \l{Android Style}{Android style} support on Android v3.0
        or later.
    \endlist

    \section2 Qt Bluetooth Module
    \list
    \li Support for Bluez5.
    \li Tech Preview of Bluetooth Low Energy (client side support only, on
    Bluez 4 & 5).
    \endlist

    \section2 QPA Plugins
    \list
    \li The Wayland platform plugin is now part of the release.
    \li XCB will now support screen with a depth of 30 (10 bit per color
    channel).
    \li More font settings are parsed by fontconfig and GTK platform backends.
    \li More categorized logging is in use so that you can enable it in the
    standard ways (qtlogging.ini etc.) instead of needing to set obscure
    environment variables or uncomment #defines.  The log also provides more
    complete information, especially about events.
    \li Support for integer device pixel ratios larger than one has been added
    to the XCB plugin. The ratio is controlled by the environment variable
    \c QT_DEVICE_PIXEL_RATIO.
    \endlist

    \section2 Qt WebKit Module
    \list
    \li  Added support for OpenGL accelerated 2D canvas to
    \l{Qt WebKit Widgets}.
    \li The Qt WebKit module is considered \e done. It will be replaced by
    Qt \WebEngine. This applies to the widgets as well as to the QML API of
    Qt WebKit.
    \endlist

    \section2 Qt Windows Extras Module
    \list
    \li Multiple thumbnail images when hovering over an application's taskbar.
    \endlist

    \section2 Qt Sensors Module
    \list
    \li Windows Phone: Added compass and ambient light sensors.
    \endlist

    \section2 Qt SQL Module
    \list
    \li Windows Phone: Added support for sqlite.
    \endlist

    \section1 Deprecated Features

    \section2 Qt OpenGL  Module
    \list
    \li The Qt OpenGL module (which contain classes that start with \e QGL) is
    now deprecated in favor of the \l{Qt GUI} module (which contains classes
    that start with \e QOpenGL). QGLWidget can now be replaced by QOpenGLWidget.
    \endlist

    \section1 List of API Changes

    The pages below contain a list of API changes in Qt 5.4:
    \list
    \li \l{New Classes and Functions in Qt 5.4}
    \li \l{Obsolete Classes}
    \endlist

    \section1 Additions to Other Qt 5 Releases

    \list
    \li \l{What's New in Qt 5.3}
    \li \l{What's New in Qt 5.2}
    \li \l{What's New in Qt 5.1}
    \li \l{What's New in Qt 5.0}
    \endlist

*/

/*!
    \page newclasses54.html
    \title New Classes and Functions in Qt 5.4
    \brief A list of new APIs in Qt 5.4.

    This page contains a comprehensive list of all new classes and functions
    introduced in Qt 5.4. Links to new APIs in previous Qt 5 releases are found
    at the bottom of this page.

    \sincelist 5.4

    \section1 Additions to Other Qt 5 Releases

    \list
    \li \l{What's New in Qt 5.6}
    \li \l{What's New in Qt 5.5}
    \li \l{What's New in Qt 5.3}
    \li \l{What's New in Qt 5.2}
    \li \l{What's New in Qt 5.1}
    \li \l{What's New in Qt 5.0}
    \endlist
*/
