| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we will cover the entire surface with our textured quads, the clear
is still necessary in order to make top-levels with TranslucentBackground
render correctly: We don't want to blend transparent areas with undefined
content that is in the surface's framebuffer.
Blending is problematic for alpha values. We now prevent the blended alpha
from being written out. This ensures that in examples like qquickviewcomparison,
where the backingstore image contains an alpha of 0.5 while the QQuickWidget
texture 1.0, the result is still an alpha value of 1.0 in the final image.
Writing out an alpha of 0.5 would break on systems where windows get an alpha
buffer by default.
hellogl2 can now take a --transparent parameter which makes the QOpenGLWidget
being cleared to transparent in order to verify it works in combination
with Qt::WA_TranslucentBackground.
The swapped red and blue problem is also corrected. RGBA8888 does not need
swizzling. The only format that needs this is RGB32.
Task-number: QTBUG-40716
Change-Id: I54a9fd3a91a1b59575b38cdb908835315514e40f
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
| |
Change-Id: Ic5465687f51c441235ec23cb88045e14644f1d2a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
The calculation forgot to take the mirrored texture upload into account.
Change-Id: Ia69c9c4b9d852d9ac652e71aaa466c5387ff5bca
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The native Windows Runtime file picker is required to support picking
of any file/folder from the system. Due to platform security restrictions,
the non-native file dialog is effectively useless when outside of the
application's installation or local storage directories.
This adds a QPA implementation for the WinRT file picker, as well as
a simple file system engine to handle files which were opened by the
picker. This necessary for platform security reasons, as it is not
possible to open files from arbitrary paths - only file handles opened by
the picker can be used, so these are kept inside this file system engine
and acted upon when a known path is observed.
The file system engine is only instantiated when needed, and may prove
useful for other areas of Qt (such as known folders/standard paths) which
must operate on a virtual file rather than an absolute path.
Task-number: QTBUG-37748
Change-Id: Ia4fd6c5065ac92101ce34adcb6c9026fbcff56df
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some language, mnemonics put after label text within parentheses.
e.g. "&Open" is translated to "開く(&O)" in Japanese.
OS X doesn't use mnemonics and '&' in label text is removed.
Mnemonics in parentheses (and spaces before them) also should be removed.
Change-Id: I88c0a1f60af7e148b3cf24a4e215ce807d62bce3
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
other processes.
Search again when a non-Qt window with WS_EX_TRANSPARENT set is found.
Task-number: QTBUG-40555
Change-Id: I3f53be626f52dc25429661ac8ea5e9f6bb163596
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Thanks to new features in ANGLE, the backing store implementation
complexity can be greatly reduced. By using ES3 framebuffer blit,
no shader code is required, and the shader loading code and blit shader
can be removed.
Change-Id: Iab3d915e279ad6468a75ef6257794f12acd8cb65
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
|
|
|
|
|
|
|
|
| |
We no longer support the maemo/meego platform, so we can remove the
specific code for that platform.
Change-Id: Ia7f0730eba2d96794b97b7ca4753f63a2d7bc2a8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWindowsDragCursorWindow is a helper window used to display the drag
cursor when doing DnD by touch, in which case Windows hides the mouse
cursor. Base it on QRasterWindow and fix the size calculation for
device pixel ratio scaling.
Task-number: QTBUG-38858
Task-number: QTBUG-38993
Change-Id: I462ece3e5c8fe8be914e039ba391a28a77e0d771
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
DRI2 clients don't receive GLXBufferSwapComplete events on the wire.
Instead the event is synthesized by the DRI2 WireToEvent handler,
so for an application to be able to see it we have to convert the
synthetic event to an xcb_glx_buffer_swap_complete_event_t and pass
it to the native event filter.
Change-Id: Ic466ff26487937b03f072a57e0ee4df335492a5f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
config.tests/arch/arch.cpp
src/opengl/qgl_qpa.cpp
src/widgets/kernel/qapplication.cpp
Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
|
| | |\
| | | |
| | | |
| | | | |
refs/staging/5.3
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: I2a044d44ca991ba20ddd710053b85afb51e362d3
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It did not load due to an off-by-1 boundary error in a check.
Qt::DragLinkCursor happens to be Qt::LastCursor.
Task-number: QTBUG-39735
Change-Id: Ia7b11fc4eecc4329bd487bd5689c83c986fd2de6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
| | |/ /
| | | |
| | | |
| | | |
| | | | |
Change-Id: Id85c86dd2f2468b3ac17751aefdebe0e8666a0c0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On WP8.0, setting auto rotation preferences at runtime worked like an
orientation update mask, and did not modify the behavior of the window.
With WP8.1, setting auto rotation preferences has the side effect that the
compositor will then resize the window when moving from e.g. portrait to
landscape. Because of this, the auto rotation API should not be called
inside orientationUpdateMask(). The default implementation is now
sufficient, so the platform override is removed.
Developers looking to set auto rotation preferences should use the
application manifest or call the native api directly.
Task-number: QTBUG-35953
Change-Id: I90cf4290ced34df1bb350cb6aa5deff209622865
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As ANGLE doesn't resolve non-extension functions, these need to be
resolved manually.
Change-Id: I0fe45005f662f7d7f2b53c09ef129efd65fb999a
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, the physical size of the screen is calculated with the
logicalSize and the logicalDpi of the screen. This doesn't work because
logicalDpi has a user-defined multiplier and a strange value.
The easiest and accuratest way is to take the raw dpi of the axis and
the raw pixel size (logicalSize*scaleFactor).
This all is needed for a correct value
of Screen.pixelDensity in QtQuick.
Change-Id: I8be0139d762364140043c3fa0d203298ca7ef293
Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This partially reverts eea02ff1 in that devicePixelRatio() will now
always return 1. This is because non-integer ratios are bound to cause
problems with pixel alignments, and their use prevents users from
accessing the complete pixel grid in Qt Quick. Now, the full physical
resolution of the screen/window is reported instead.
The EGL initialization is adjusted to match requirements for ANGLE 2.1.
Change-Id: I24c6dcf4419f30e5e4c73c592beb446a418a0b8b
Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix warning:
QWARN : tst_QGuiApplication::execAfterExit() SetProcessDpiAwareness failed: "COM error 0xffffffff80070005 (Unknown error 0x0ffffffff80070005)"
occurring when instantiating QGuiApplication repeatedly in tests.
Task-number: QTBUG-38993
Change-Id: Id6c8e915b25011bb60c2f8b1d0e4a794cd345647
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Keep track of the focus object in the input context ensuring
that events on canceling are sent to the right object.
Task-number: QTBUG-40402
Change-Id: I79820db94d97e21b47abc8fe2bae6fa012d31236
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds the option to disable subpixel antialiasing on QFont
basis. This can be useful when painting to offscreen surfaces. On OS X
this option disables the aggressive LCD font smoothing, which can be
necessary for certain fonts it may otherwise ruin.
Task-number: QTBUG-40396
Change-Id: I1664b636520ae63ee1503b5df7436748106b9f5c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We currently do not receive events from most multimedia keys on Windows
because they are sent using appcommand events instead of the normal key
events.
This patchs adds support for parsing appcommand events.
Change-Id: I19f568b6fa0d3d136e3a22318df1499a1fab6edb
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Android L adds support for 64 bit (arm and x86) and they did lots of
changes that are incompatible with old implementation.
Task-number: QTBUG-40120
Change-Id: I69b78a9eed896d2ddabc1bf2a55886faeae47974
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issuing a metacall from swapBuffers is dangerous since the window
may get destroyed by the time the slot is invoked.
This patch changes it to use an event, which is more efficient anyway,
that can be invalidated in case the QXcbWindow is destroy()'ed before
the event is delivered.
Change-Id: I44618ac1cb8b221aecce001ea39702164dcab6a5
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removes some debug output that indicates that we're dealing with a dock.
It looks like somebody was testing some implementation more than useful
output information.
Change-Id: I04ebbc1f0f1d29ed2099bab9d9e9fc18c9bf0c86
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0a3272233de7e685c750f001eb45a5e326d0f35b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove unused includes
Remove unused static vars
use Q_NULLPTR insead of 0 or NULL
Change-Id: Id8c99c83c64425c9725e441108010f3821bd3b44
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It seems that the second parameter of handleExposeEvent function is
about the region inside the window, not its position on the screen.
Change-Id: I89f5b2b13c9b0993253542823a84547d6a994c31
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When an application is suspended on Android all its Gl surfaces
are destroyed and can't be used to render anymore, so we should
release them in order to give back to the system the memory used
by them.
[ChangeLog] [Android] Release all windows when the application is
suspended.
Task-number: QTBUG-29069
Change-Id: I038aaa2006da1f3188fccba943ec4ffb3e551cf0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The main event loop will be paused when an application is suspended,
this is also the normal behavior of any Android application. When an
application is suspended on Android all its Gl surfaces are destroyed
and can't be used to render anymore. So, we need to pause the main
event loop in order to pause all the timers which might trigger
drawings. The event loop is resumed immediately after the application
is foreground. AndroidManifest.xml contains more info about how to
disable this behavior and what might happen if you do it.
[ChangeLog][Android][Important Behavior Changes] The main event loop is
now stopped when the app is suspended
Task-number: QTBUG-36274
Change-Id: I4c0ba5df9d95f348bca67ea5c76865d6d20775e4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the user holds the Wacom Art Pen straight, rotation is zero;
when turning it counter-clockwise, it should have a negative angle,
whereas the driver sends a positive angle;
when turning it clockwise it should have a positive angle up to 180,
whereas the driver sends 360 going downwards towards 180.
These corrections make the angle reading consistent between Linux,
Windows and OS X.
Task-number: QTBUG-39570
Change-Id: I7a57cc1fb56d4f7128ca1add10aff2597f29c507
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-39458
Change-Id: I112107e392bf3b55771039b72271fdf887e2e5db
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The driver sends values in the range 0..1, but we want the "center"
value to be 0. This correction makes tangentialPressure consistent
between Linux, Windows and OS X.
Task-number: QTBUG-40469
Change-Id: Ia4aa777efdf015c2802b945f6ca7a8e442bbf5fc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Use static invocation of QGuiApplication accessor.
- Use QInputMethod::queryFocusObject().
Task-number: QTBUG-40402
Change-Id: Ic1a7f66389df532acca88ddda37d35d6e7049a53
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The native interface implementation in QEGLPlatformIntegration
lower-cases the resource key strings, where as in the Windows
implementation we currently only check for camel-case resource
names to retriece the same resources.
Make it possible to use lower-case strings on Windows as well
by using the same key look-up mechanism as used in the eglfs
implementation.
Change-Id: Id2a594310df610cadbe420409c090f0abb316474
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Other platforms do not do this either. What is more, some of the
extension handling code will try to resolve functions that are not
necessiarly present, and this is not an error.
Change-Id: I39dad8f8d89fc45de3ea83f04727a8e38b6a3387
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace old virtual declarations by Q_DECL_OVERRIDE where
applicable.
Errors discovered: QWindowsScreen::primaryOrientation() did not
overwrite any method, changed to orientation().
Task-number: QTBUG-38858
Task-number: QTBUG-38993
Change-Id: Ie85d5235f3cd35c7a24cac3c1c7693c6508b1009
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We were resetting the window type on show, this was breaking some
deployments, since it used to be possible to set the xcb properties from
the user application.
This change requires the user to at least start using the
QtPlatformHeaders before overriding the window properties with the values
set there.
Change-Id: Ic58919a42b6d532035c7ec6158a086b85666a22f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix ugly warnings by MinGW:
qwindowsfontdatabase.cpp: In member function '{anonymous}::TableDirectory*
{anonymous}::EmbeddedFont::tableDirectoryEntry(const QByteArray&)':qwindowsfontdatabase.cpp:167:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (Q_UNLIKELY(m_fontData.size() < sizeof(OffsetSubTable)))
^
..\..\..\..\include/QtCore/../../src/corelib/global/qcompilerdetection.h:202:49:
note: in definition of macro 'Q_UNLIKELY'
Change-Id: I47fac598ed1b6623146fb437c00da64d8e8b6984
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Until now, it has been necessary for tablet-oriented applications which
care about multi-button styli to reject each tablet event and wait for
the mouse event in order to know which buttons are pressed. This patch
adds the new API and also the X11/xcb implementation.
[ChangeLog][QtCore][Tablet support] Added buttons to QTabletEvent
Task-number: QTBUG-39458
Change-Id: If2c9ec1ceacc1700a82686c5fc6f568f9111055a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the user holds the Wacom Art Pen straight, rotation is zero;
when turning it counter-clockwise, it should have a negative angle,
whereas the driver sends a positive angle multiplied by 10;
when turning it clockwise it should have a positive angle up to 180,
whereas the driver sends 360 * 10 going downwards towards 180 * 10.
These corrections make the angle reading the same between Linux and
Windows.
Task-number: QTBUG-39570
Change-Id: I9f18ef6629bffa849c8d65cba02d42b21469cebc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Factor out function to determine the font family for a style
hint and use that for the FreeType font database as well.
Task-number: QTBUG-39961
Change-Id: Ic5ec0928c7994b61e4d2b10d829826658b1aa1d5
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
|
|\ \ \ |
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/widgets/kernel/qwidget_qpa.cpp
src/widgets/widgets.pro
Change-Id: I697eec936c4e1a6c360edc8f0b472e23c0461ecb
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The workaround added for QTBUG-8361 also needs to trigger in the
restore-from-fullscreen logic, set flag accordingly.
Task-number: QTBUG-40254
Task-number: QTBUG-8361
Change-Id: I6d6c35bb7004c84c6b8feea05ad974c23ca205d2
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Proximity leave comes without packets, do not bail out.
Task-number: QTBUG-40019
Change-Id: I4e6b4ca13ad875bdfdcd31f86b08de4a596e76cb
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|