summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Mark all qtbase headers that aren't cleanThiago Macieira2013-03-032-0/+2
| | | | | | | | | | | | | | | | QtCore has a few headers that, though public, aren't meant to be included directly. Those are the atomic headers, the three _impl.h headers and qt_windows.h. QtGui includes two OpenGL headers that don't compile on their own. Other libraries should not have headers like that (but they do, something we need to fix eventually). Change-Id: I55e4eb057748f47df927ee618f9409acbc189cc1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Add support for the Compute shader stageSean Harmer2013-03-023-2/+17
| | | | | Change-Id: Ibb1b79358758c2adf818af8c6fcd5c379efad8c3 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QOpenGLShaderProgram: insert precision defines based on runtime detectionGiuseppe D'Angelo2013-03-011-10/+14
| | | | | | | | | | | Given that we can create OpenGL/ES contexts even under a Desktop OpenGL implementation, we must check the type of the surface we're renderering on at runtime. Change-Id: I55004ce918889b3fc094702976500fcfc675bd1a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* OpenGL: Add support for OpenGL 4 tessellation shader stagesSean Harmer2013-03-014-7/+252
| | | | | | | | | | This adds support for OpenGL 4 tessellation shader stages to QOpenGLShaderProgram and QOpenGLShader. Change-Id: Iefb2f411e00767990d54670c5d39413be694dd66 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Merge "Merge branch 'ios' into dev" into refs/staging/devTor Arne Vestbø2013-02-283-5/+14
|\
| * iOS: Retina display support.Morten Johan Sorvig2013-02-272-2/+13
| | | | | | | | | | | | | | | | Scale the OpenGL paint device size and physical dpi by the device pixel ratio. Change-Id: I8b576f23129aafc47371795151c548663e94ad52 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * iOS: fix build issue, dont link against cocoaRichard Moe Gustavsen2013-02-261-3/+1
| | | | | | | | | | | | | | | | | | Make sure the libraries dont depend on Cocoa. This will be picked up by libtool, and make all apps and examples link against cocoa too (which will ofcourse fail) Change-Id: I5654bb08c4ed376fc7ee74da422d903270a8af38 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | OpenGL: Add QOpenGLVertexArrayObject classSean Harmer2013-02-283-2/+586
| | | | | | | | | | | | | | | | | | | | This class makes it much simpler to manage OpenGL state relating to vertex data (i.e. vertex buffer objects, vertex attribute divisors, index buffer objects, vertex buffer formats). Change-Id: I9fb932cc3f0691ec9ba065bf871e43cd2e369bad Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | OpenGL: Reinstate support for OpenGL geometry shadersSean Harmer2013-02-283-4/+58
| | | | | | | | | | | | | | | | | | Unlike QGLShader, this requires the OpenGL 3.2 core implementation of geometry shaders to keep the API simple. Change-Id: Icb07f430c4c5b5d950bcf6f7119becec4cfaad8a Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Allow flushing window system events from other threadEskil Abrahamsen Blomfeldt2013-02-284-2/+36
| | | | | | | | | | | | | | | | | | | | | | For platform plugins such as the Android plugin, we need to make sure an event is delivered and handled before continuing execution (e.g. when doing an expose event to report that the EGL surface has been destroyed when the app goes into the background.) Change-Id: Ibd381baafa93f111dbc887d4cf9d9ca37429b186 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Fix compile on AndroidBogDan Vatra2013-02-271-2/+2
| | | | | | | | | | | | | | This is a workaround for a broken compiler Change-Id: I10c8c750caf56036419807ec4a2439bf14cf64d6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Enablers for input methods on AndroidPaul Olav Tvete2013-02-273-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | Adding QInputMethod::inputItemRectangle()/setInputItemRectangle(). Known bugs: inputItemRectangle() not implemented for graphics view items; inputItemTransform() implementation was already missing. Change-Id: I72b1d43350e93858a2b374de3f2199500a96dc79 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Introduced QWindow::setMask() to expose existing platform functionality.Samuel Rødal2013-02-273-0/+37
| | | | | | | | | | | | | | Task-number: QTBUG-28555 Change-Id: I2c649b6d9e9dc69be246cb7658b3edbe9682b1bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | OpenGL: Add a set of version and context specific OpenGL classesSean Harmer2013-02-2655-2/+85644
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds part of the output of utils/glgen and some simple modifications to QOpenGLContext to allow easy access to classes containing functions specific to a given OpenGL context and version. This allows compile-time detection of mis-use of OpenGL features. For example, trying to use glBegin(GL_TRIANGLES) with an OpenGL 3.2 Core Profile context will be detected by the compiler rather than at runtime. These capabilities make it much easier to add functionality to Qt and applications that relies upon core features of OpenGL from specific versions e.g. geometry shaders. Change-Id: Ieb584a489792595f831bc77dee84935c03bb5a64 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Fix typo.Frederik Gladhorn2013-02-261-1/+1
| | | | | | | | | | Change-Id: Ia3fd460e77d8da5dca634872e3f786d5ad30289d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Update qopenglext.h with the latest version from KhronosGiuseppe D'Angelo2013-02-251-32/+434
| | | | | | | | | | | | Change-Id: I84b051b30623fda67c89d4d6b0b7756681cb9011 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QPA: fix memory leak in qwindowsysteminterface.hRichard Moe Gustavsen2013-02-241-1/+1
|/ | | | | | | | Just removing the event from QList will not delete it... Change-Id: I3c4bb69a2afaada7ad4d5695eba0b3f29e9463ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Update qopenglext.h to latest glext.h from Khronos.orgSean Harmer2013-02-221-99/+1016
| | | | | | | | This now includes support for OpenGL 4.3 Change-Id: I964284843dffe806280e7f67cde67f17e84dc6df Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* OpenGL: Refactor some defines and typedefs to a common locationSean Harmer2013-02-212-21/+17
| | | | | | | | | These will be needed by the upcoming OpenGL enablers so move them out of qopenglfunctions.h to somewhere that any opengl related file can access them. Change-Id: I0c788559397d446ec7210e2ad940da862179710d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QPA: Add interface for setting the application state explicitlyRichard Moe Gustavsen2013-02-217-4/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this patch is twofold: 1: we need a way (for iOS/Android) to tell the current window to remove focus from the focus object when the user hides the input panel. Otherwise, if the focus object is e.g a line edit, the cursor will continue to blink inside it, which is wrong. As it stands, telling the active window to deactivate (by calling QWindowSystemInterface::handleWindowActivated(0)), will cause the whole application to deactivate if no windows are active, which is not what we want. 2: Qt currently understands just two application states, Activated and Deactivated. On mobile platforms we can have other states as well, like "suspended" on iOS. So controlling the application state should not depend on window activation, but instead be controlled through a separate API by the platform plugin. This patch will add the following function: QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState) that lets us control the application state from the plugin. This also means that we factor out application state handling from window activation, which also gives us a way to remove focus from a window while keeping the application active. To not break existing desktop platforms that relies on application activation being tied to window activation, we need to make this API opt-in by using a platform integration capability hint. This is not optimal, but found necessary after investigating several other solutions. Which states (other that active/inactive) it makes sense to add to Qt::ApplicationState will be a topic for later patches. Change-Id: Ic6fdd3b66867abb67da43eba04ec86f06d82ff94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Giuseppe D'Angelo2013-02-212-2/+5
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-202-2/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/unix/separate_debug_info.prf src/gui/kernel/qwindow_p.h src/plugins/platforms/cocoa/qcocoacursor.mm tests/auto/tools/moc/tst_moc.cpp Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
| | * Don't enable HIDPI when rendering directly to PDF on MacAndy Shaw2013-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rendering to PDF using the PDF paint engine on Mac it would consider it to be rendering as HIDPI when ScreenResolution was used. This would mean nothing was being rendered at all in the PDF as a result. Task-number: QTBUG-28709 Change-Id: Ieb97ca9d0b47f6b96debbcf5e05e96c39292e412 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Fix focus handling of native child widgets in xcb.Gunnar Sletta2013-02-191-0/+2
| | | | | | | | | | | | | | | | | | Change-Id: If4d596195624011142bff6853849a23064e478df Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> (cherry picked from commit fc663b5f9aae16fe6a03160e3eb148a5f742ac58)
| | * undef B0 to build on PPC (conflict with definition in termios.h)Shawn Rutledge2013-02-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same fix that was already done in qprinter.h /usr/include/bits/termios.h:122:#define B0 0000000 /* hang up */ so the compiler sees B0 as a numeric constant Task-number: QTBUG-29704 Change-Id: I2df5e1783f3142558cbc1606e0c61fcf636f2de8 Reviewed-by: David Faure (KDE) <faure@kde.org>
* | | Fix path separators in archives created by QZipWriterPavel Mogylevskiy2013-02-201-6/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | It was not possible to extract data from the archive on OSX which was created on Windows platform because of wrong separators. Archive was created on Windows via QZipWriter and opened on OSX with QZipReader. It consisted of a lots directories and subdirectories with files. The solution is to use '/' separator for internal representation. Change-Id: Ic0837ca184bb6188129d53b587a5df2ec61e4e05 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Let QPlatformTheme decide which engine QIcon::fromTheme usesKevin Ottens2013-02-193-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | By default we still use QIconLoaderEngine but now platform theme plugins have the opportunity to override that. It is in particular planned to be used in a WIP platform theme plugin for KDE sessions. Change-Id: I07a82dc91daea44709b3a790f3f6e2a7a090d108 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-02-186-24/+27
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-186-24/+27
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| | * Doc: Fixed typo "pragraphs" -> "paragraphs"Marcel Krems2013-02-151-2/+2
| | | | | | | | | | | | | | | Change-Id: I47e88dbedd3afee4bd53550ef1ce643829aecedb Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Fixed error in QGLFramebufferObject and QOpenGLFramebufferObject docs.Samuel Rødal2013-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | | It's the format class that lets you control the number of samples. Change-Id: Id01f107a15787f33b65429d3c882854f2dc8784e Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Fixed crashes when using QImage in combination with QCoreApplication.Samuel Rødal2013-02-142-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As long as fonts weren't used we supported using QImage in combination with QCoreApplication in 4.x, and there's no reason we can't continue doing so. Task-number: QTBUG-29643 Change-Id: I2cf351d3c93f1c175bbf624e45024d39ab913111 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * Fixed QOpenGLFramebufferObject docs to mention QOpenGLPaintDevice.Samuel Rødal2013-02-141-19/+15
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-29496 Change-Id: Id9ec5e2a070992f53bba58468e2472513d52cb8b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Fixed QT_NO_ACCESSIBILITY build.Bjoern Breitmeyer2013-02-132-0/+4
| | | | | | | | | | | | | | | Change-Id: I14229753fc2e3b54da8a285ae9d27201b73e24be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Added QDebug support for QWindowSystemInterface::TouchPointShawn Rutledge2013-02-182-0/+11
|/ / | | | | | | | | Change-Id: Icfc606a49a7fd24fcd35b9c818642a03e044ed6c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Added QOffscreenSurface class.Yoann Lopes2013-02-1810-1/+644
| | | | | | | | | | | | | | | | | | | | | | | | Inherits QSurface and allows to use OpenGL from an arbitrary thread. Platform plugins can implement QPlatformOffscreenSurface, otherwise an invisible QWindow is used by QOffscreenSurface. This patch includes an implementation of QOffscreenSurface for XCB and EglFS platform plugins using pbuffers. Change-Id: I57b4fc1db417331f34826dcfa754b7698782fde4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Giuseppe D'Angelo2013-02-1726-46/+78
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-1426-46/+78
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| | * Fixed QSurfaceFormat documentation about DebugContext requiring GL3+.Samuel Rødal2013-02-121-1/+0
| | | | | | | | | | | | | | | | | | | | | GL_ARB_debug_output only requires OpenGL 1.1 and above. Change-Id: Ib79d370fac36fa737817ea678f0dee25283dfa31 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * Fixed QPixmapCache associating path with wrong QPixmap.Samuel Rødal2013-02-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | QPixmap::load() would not detach, so multiple paths could get associated with the same QPixmap, causing the wrong pixmap to be shown. Task-number: QTBUG-29639 Change-Id: I064dd6a9611b5996853bec9fb20b6224a0adcf62 Reviewed-by: aavit <eirik.aavitsland@digia.com>
| | * Mac: Remove broken platformPluginPath code.Morten Johan Sørvig2013-02-121-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The missing "/" in front of "../Plugins" prevents this from working - platformPluginPath is never set. Deployed platform plugin loading works in spite of this via qt.conf which adds the plugin path to QCoreApplication::libraryPaths(). Change-Id: I7ae4d13c65a380ddad72bffd29b776c39ea91c8a Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * Fix QWindow::setFramePosition() to keep the size.Friedemann Kleint2013-02-111-1/+1
| | | | | | | | | | | | | | | Change-Id: I14551e0d0573c2e8d86d76eadab4df9f3c8ed5e4 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| | * Add translator help for accessibility stringsFrederik Gladhorn2013-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is also one string fix: cursor was twice, the second one should have been text caret. These roles follow IAccessible/MSAA as reference. Change-Id: I39b64fd01376fec9e8d9b743c43a24611a1d9fbd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| | * Factorize code for formatting window titles into QPlatformWindow.David Faure2013-02-062-0/+26
| | | | | | | | | | | | | | | Change-Id: I0dcccd08916fc2ea1b795681e9b98a9550ef51b6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Fixed crash in image reader when reading certain BMP files.Samuel Rødal2013-02-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the high bit in a mask is set, for instance if the mask is 0xff000000, and we shift it to the right by 24 positions, since the mask was not declared as unsigned we ended up with a mask value of 0xffffffff. We then add 1 to this value and divide by the result, causing a division by zero crash. The masks need to be declared unsigned to prevent sign bit extension when shifting right. Task-number: QTBUG-29194 Change-Id: I79260344cebfbdd3ea86416a9c734dca76517999 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Nokia -> Qt ProjectFrederik Gladhorn2013-02-051-1/+1
| | | | | | | | | | | | | | | Change-Id: Iadd29ee918dc181d2a468f5198e66351c7cb3548 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | * doc: Fix QPixmapCache size default value in docJulien Brianceau2013-02-051-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | QPixmapCache size default value is always 10 Mb since change I2ac33765 Change-Id: I28c99433948b07e9c84d0afda7aa5a8f49d2cd18 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| | * fix doc page urlsOswald Buddenhagen2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | they are versioned nowadays Change-Id: I839db633e9d7d63c9d445f8e914b529bd7ce60a2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Merge "Merge branch 'release' into stable" into refs/staging/stableSergio Ahumada2013-02-012-1/+2
| | |\
| | | * Merge branch 'release' into stableSergio Ahumada2013-01-312-1/+2
| | | |\ | | | | | | | | | | | | | | | Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60