winrt: Fix backing store blit

The calculation forgot to take the mirrored texture upload into account.

Change-Id: Ia69c9c4b9d852d9ac652e71aaa466c5387ff5bca
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrt: Fix theme palette

Windows Phone didn't handle the base color enums well, and ARM was
getting incorrect colors due to different byte ordering. So, use the
Phone-specific enums where applicable and pass in the proper char sequence
for the color.

Change-Id: I7ffbc383c07d2160974560110fea221a204577ea
Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
SSL backend: Add a decodeDer() method to the private API

This allows QSslKey to avoid converting to pem format if the backend
supports native der decoding.

Change-Id: I0822a21401ad0ca81c6eeb6c7d53c421e1e2e93a
Reviewed-by: Richard J. Moore <rich@kde.org>
SSL backend: Fix pem header/footer utility methods

These methods assumed incoming data would have LF line endings, and
therefore broke when parsing files with CRLF line endings. This
simply removes the line feed from the header/footer strings, and switches
to QByteArrayLiteral while doing so.

Change-Id: I0c14634243c4bd7d19a6b5ef718b6ed1cc6bcdb2
Reviewed-by: Richard J. Moore <rich@kde.org>
winrt: Fix core dispatcher lookup

The core dispatcher lookup should be performed from the constructor
in all cases but the first (WinMain) thread, and only rechecked if the
thread changes.

Change-Id: I05f0c15b3e199994aa5d740b2092b42fb8d2f596
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
qdoc: Distinguish between QML property and attached property

A recent change in qtdeclarative (60ed6a43) added an attached
property 'Window' to Item type, with property names identical
to the ones already available in Window. This caused QDoc to
report warnings for duplicate documentation for QML properties,
because there was no distiction between a QML property and an
attached property.

This change fixes the issue by:
    - Allowing identical names for \qmlproperty and
      \qmlattachedproperty
    - Using distinct URLs/UUIDs/anchor references for them
    - Marking attached properties with '[attached]' qualifier
      in 'All Members' page.

This doesn't solve the issue of disambiguating between a
similarly named QML property and attached property when
linking from an external location. However, these can be
solved with the help of the \target command.

Task-number: QTBUG-40674
Change-Id: Icc74de237366e9897334689fe354ab83e4af0356
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Modernize the OpenGL examples

Change them to use QOpenGLWidget and QOpenGLTexture.
Advocate also the usage of VBOs.

Hopeless examples, that rely on the fixed pipeline and will
not compile or work in ES and dynamic builds, are moved to
a "legacy" directory. The documentation pages for these are
removed. This long due change avoids the confusion newcomers
experience when trying to get started with Qt 5 and OpenGL.

hellowindow's behavior is changed to open a single window only
by default. The old default behavior, that opened three windows
on platforms that supported both MultipleWindows & ThreadedOpenGL,
can be requested by passing --multiple. --single is removed since it
is the default now. This plays much nicer with drivers that have
issues with threading.

In addition, say hello to hellogl2.

This is the old hellogl example updated to use QOpenGLWidget and
OpenGL 2. It also has a mainwindow with multiple (un)dockable widgets
containing the OpenGL widgets. This helps testing the behavior when
the top-level of the QOpenGLWidget changes and provides a very
important example of how to do proper resource management in this case.
(must use aboutToBeDestroyed() of the context, since the context goes
away and is replaced by a new one on every dock/undock)

As a bonus, the logo is now real 3D, no more orthographic nonsense.

Launch with --multisample to request 4x MSAA.

Launch with --coreprofile to request 3.2 Core. In this particular example
the shaders are present in both versions and there is a VAO so the application
is functional with core profile contexts.

Change-Id: Id780a80cb0708ef164cc172450ed74050f065596
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Make the expose region local on all platforms

QExposeEvent::region() reports a region in a random coordinate system.
The behavior is undocumented and the platform plugins do different things.

xcb, offscreen and ios are correct. These set the region in local coordinates,
which is the most logical interpretation of the expose region.

windows is almost correct, except for one occurrence.

cocoa and others need changes: passing in geometry() as the exposed region is
always wrong.

The patch documents the expected behavior both for QExposeEvent and
internally in QWindowSystemInterface. The problematic plugins are fixed to
use local coordinates.

Task-number: QTBUG-40470
Change-Id: I6ded3154d14254fa71d4292d8e1b5e6cf696c81a
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>