summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove some left-over +1 in font height calculationEskil Abrahamsen Blomfeldt2014-02-052-2/+2
| | | | | | | | | | | | | | In change cb8445f0323b0eefbb04f1d8adad81a00b53abd8, I tried to remove all the historical +1s when calculating the font height from the ascent and descent, but I missed a couple. These are used when drawing the background for the text, the height of which would no longer match the height returned from QFontMetrics. [ChangeLog][Text] Fixed off-by-one in the height of text background. Task-number: QTBUG-36444 Change-Id: If6d87f903e246f9faed2298bb1693b2556906eed Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Obsolete AA_ImmediateWidgetCreation.Friedemann Kleint2014-02-053-17/+14
| | | | | | | | | This attribute is not guaranteed to fully work with QPA. Task-number: QTBUG-36489 Change-Id: I638a8e00851288012be553b5316aa6088dd67cff Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Cocoa: Establish pattern for accessing globalsMorten Johan Sørvig2014-02-046-30/+50
| | | | | | | | | | Use a static QCocoaIntegration pointer instead of QGuiApplication. This removes the need to call out of the platform plugin as well as the casting from "platform" to "cocoa" types. Change-Id: If432b3567811223b73a67548e475e07d63635b73 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Add suspend and resume event handling for WinRTMaurice Kalinowski2014-02-042-0/+39
| | | | | | | Task-number: QTBUG-35952 Change-Id: Icb4edb0f55c1d02dfbb5501df311b0fff87d2dc1 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Fix character mirroring issue with HarfBuzz-NGKonstantin Ritt2014-02-048-63/+44
| | | | | | | | | | HarfBuzz-NG does character mirroring where appropriate. A simple solution is to unset RightToLeft shaper flag when text gets shaped with HB-NG. Instead, move the mirroring code right to HB-old proxy function and decrease code duplication. Change-Id: Icdcd50b73b3e6a43da4b85addc7d8f51edf86512 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Logging: Don't use for loop in qCDebug macrosKai Koehne2014-02-041-3/+3
| | | | | | | | | | | | The local 'enabled' variable might cause dubious MSVC warnings if a local variable name 'enabled' exists. Just replace the whole loop with the if (...); else idiom, as Thiago once suggested on the mailing list. Task-number: QTBUG-36605 Change-Id: I0b8959a29d4432296961493fe2b7827c5b860d00 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Clean up QXCBSessionManagerSamuel Gaist2014-02-032-25/+2
| | | | | | | | | Removed useless overrides and inline simple functions. Change-Id: I69df0ec8446fe2c8bb904c7d4d9cc2e1d269533b Reviewed-by: Teo Mrnjavac <teo@kde.org> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Clean up QPlatformSessionManagerSamuel Gaist2014-02-031-3/+3
| | | | | | | Remove virtual from appCommitData and appSaveData and make them public Change-Id: Ifd605742c6552b7a407de9bf482f8f0f0aa125ca Reviewed-by: David Faure <david.faure@kdab.com>
* Windows: Silence QWindowsOleDataObject::GetData().Friedemann Kleint2014-02-031-1/+1
| | | | | Change-Id: Iad97a35af334f951f56a7bf02ec1bf2873901aa1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QOpenGLTexture: remove typos in the docsGiuseppe D'Angelo2014-02-031-2/+2
| | | | | Change-Id: Ia842c7f91eadefc6b5328d7d951c4e265c2c7432 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QOpenGLTextureHelper: fix the DSA emulationGiuseppe D'Angelo2014-02-032-217/+241
| | | | | | | | | | | | | | | | | | | | | | The DSA emulator functions query which texture is currently bound to a given target, then bind the new one, perform an operation, and bind the old one back. The problem is that in order to query what's currently bound to the GL_TEXTURE_<X> target one needs to call glGetIntegerv passing GL_BINDING_TEXTURE_<X>. Since both GL_TEXTURE_X and GL_BINDING_TEXTURE_X values are completely arbitrary (not contiguous nor related in any way) we need to pass *both* them to the functions. The right GL_BINDING_TEXTURE_X was getting already chosen (and stored) at texture creation time by QOpenGLTexture, so it's just a matter of passing it around. For the "real" DSA functions, the binding target is ignored. Change-Id: Ida823abbfb142d4a22bf9f9a762b160b7e281c6d Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QGuiApplication: Check if window exists before sending double click event.Friedemann Kleint2014-02-031-6/+8
| | | | | | | | Task-number: QTBUG-36364 Change-Id: I0be40e8f920f0210ba4e99e83d138f82ce3a69f2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* [QNX] Handle the case when an egl surface can not be createdFabian Bumberger2014-02-022-3/+5
| | | | | | | | | | If an egl surface can not be created (e.g. when out of memory) the application should not crash. In this case we will not be able to make the egl surface current and have to return false in the makeCurrent call in QQnxGlContext. Change-Id: If9b5a82a0f64dc0a42bee687d351bea43fb05d51 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* [QNX} Remove adjustBufferSize from the egl windowFabian Bumberger2014-02-026-12/+8
| | | | | | | | | | setGeometry will adjust the buffer for an egl window when a egl surface is created. Adjusting the buffer somewhere else can be potentially harmful. Another reason is that every egl window has a buffer on its own (unlike raster windows) so we do not have to check if we have to create a buffer after reparanting. Change-Id: I01406867a0dab598dac7d86e1f1e28ca9736a299 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* [QNX] Fix crash when creating eglSurfaceFabian Bumberger2014-02-021-2/+2
| | | | | Change-Id: I9cf9d56003a5f237dcf00b621fddf74e8d0ca190 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix the QSslSocket::setCiphers(const QString &) overload.Richard J. Moore2014-02-023-6/+24
| | | | | | | | | | | The overload used an evil hack to work around a flaw in the QSslCipher API rather than fixing the API. The hack was broken by the addition of support for newer versions of TLS. This change solves the issue properly by fixing the QSslCipher API then using the fixed version. Task-Number: QTBUG-34688 Change-Id: Ibf677c374f837f705395741e730d40d8f912d7c6 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* QGraphicsSceneIndex: replace polymorphism with a function pointerMarc Mutz2014-02-012-67/+36
| | | | | | | | | | | | | | | | | | | | | | | | | QGraphicsSceneIndexIntersector was used as a kind of polymorpic predicate in items_helper(). But it had only one function and the instances of it, which were kept around in QGraphicsSceneIndexPrivate, were re-initialised on every call to items_helper(), which means that one can just as well pass that miniscule amount of data to the function itself. Replaced the polymorphism with a function pointer and the comparison state (which is conceptually const if it wasn't for the requirement to assign to it all the time) with a const void * argument. Effects on Linux AMD64 GCC 4.9-trunk release stripped: text: -1584B data: -376B relocs: -26 I've wrapped the functions in a namespace. The only reason for this is to keep the functions, previously defined in class bodies, at the same indentation level so as not to destroy the git-blame history for them. Change-Id: I8e1f48030047a3c54e881de7c77a3325b3e1f509 Reviewed-by: Alexis Menard <alexis@webkit.org> Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* Fix setWindowFlags() for QMdiSubWindow.Bastiaan Veelo2014-02-013-15/+25
| | | | | | | | | | | | | | It was impossible to hide/show the close button after a QMdiSubWindow was created. Task-number: QTBUG-9933 Task-number: QTBUG-27274 [ChangeLog][QtWidgets][QMdiSubWindow] Fixed setWindowFlags() for QMdiSubWindow. Change-Id: I7db9a1bef5ba8a8ace729acb85682c8b3de9c33c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Add other integer overloads to QFlag's constructorThiago Macieira2014-02-012-3/+37
| | | | | | | | | | | | This avoids "change of sign" warnings as found by ICC when the high bit is set. This often happens when you do X & ~Y as ~Y probably has bit 31 on. If the enum is unsigned, then there's a sign conversion. Change-Id: Ia5f221d928ac0155f4504a70c4046e60c25fbf3b Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix configure & qmake compilation with a future MSVC versionThiago Macieira2014-02-011-2/+1
| | | | | | | | | | | | When MSVC supports ref-qualified members, we need to ensure that qstring_compat.cpp can see the non-qualified definitions in qstring.h, which means no precompiled header. Alternatively, for a bootstrapped build we could not compile qstring_compat.cpp or #ifndef the functions. Change-Id: I8ece34503060f0b4b0f8f2df2fb9b0fb1311e269 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update the macro that MSVC 2013 defines for AVX code generationThiago Macieira2014-02-011-11/+7
| | | | | | | | | | | | | | | | | | http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.120).aspx says: __AVX__ Defined when /arch:AVX is specified. Now we know what flag it is, we don't need to use our _M_AVX flag anymore. We're also now assuming that Microsoft will follow the same pattern for AVX2 (i.e., __AVX2__), so this commit also removes the check for _M_AVX2. The other defines that were defined alongside AVX2 are removed because they have no use currently in Qt. Change-Id: I64a026b2206dbd0d2dffa7c803bee969c9b94a94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use qregister(u)int in qsimd.cpp x86 codeThiago Macieira2014-02-011-3/+3
| | | | | | | | | | This way, the same codebase works for x86, x86-64 LP64 and x86-64 ILP32 (a.k.a. x32). Task-number: QTBUG-35463 Change-Id: Iffcecc6a4c03267fb64e287c2d6226d078d7d115 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Q(Plain)TextEdit: Add find() overload with QRegExpChristian Loose2014-01-316-0/+64
| | | | | | | | | | | | | | | Add overloads to the find() methods in QPlainTextEdit and QTextEdit that find the next occurrence matching the passed regular expression. These are convenience methods that eliminate the need to use the document() method and the need to handle the QTextCursor return value. [ChangeLog][QtWidgets][QPlainTextEdit] Added find method overload using QRegExp [ChangeLog][QtWidgets][QTextEdit] Added find method overload using QRegExp Change-Id: Ia6139b771e3ae4ca02e4b8ea7fde19e5dc71b9d8 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Move the code that converts from UTF-16 to Latin1 to the topThiago Macieira2014-01-311-122/+118
| | | | | | | | Just so it's closer to the code that does the inverse. Change-Id: Iecaab20adad2cb7f4a55818c687aecc76f0523e7 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Merge all conversions from Latin-1 in qstring.cpp into a single functionThiago Macieira2014-01-311-62/+60
| | | | | | | | | | | | | | | Amazing how many places had the conversion duplicated. When compiling with GCC under -O3 (which enables -ftree-vectorize), GCC would use SIMD by using the PMOVZXBW instruction, but only if the -msse4.1 was passed (or equivalent -march= switch), which almost no one did. Also, the two lastIndexOf and the qt_find_latin1_string updates are also fixing bugs because the old code forgot to cast the input to uchar first. That meant the compiler was generating sign-extension from 8 to 16 bits, as opposed to zero-extension. Change-Id: I4e2430a51dfc337994834524d3540382157509ef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Unroll the tail loops of the SSE2-improved codeThiago Macieira2014-01-311-0/+53
| | | | | Change-Id: I1a51ceab3bdabd39bdb9dc2714debb3ad2c2380c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Improve the QString/QLatin1String ucstrncmp with SSE2Thiago Macieira2014-01-311-0/+51
| | | | | Change-Id: I6a7ce281096bb99352132f775ae32fcaf55bd32c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Centralize the UTF16-Latin1 comparisons in one placeThiago Macieira2014-01-311-63/+29
| | | | | | | | | | We have quite a few versions of this code in qstring.cpp, which means that it's hard to optimize them all. Instead, create two functions to do the comparisons, one case-sensitive (ucstrncmp & ucstrcmp) and one case-insensitive (ucstricmp). Change-Id: I55c6588ade160bc8d16e19727b8f3dca523b38bf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Improve qstring.cpp:findChar with SSE2Thiago Macieira2014-01-311-1/+19
| | | | | | | | | | | | | | | | | | | | | | | This updates only the case-sensitive searching. The case-insensitive part requires quite a few Unicode transformations. The benchmarks tried are the plain word-by-word comparison used in Qt 5.2 and in builds without SSE2; the SSE2 benchmark; a benchmark using the SSE4.2 "strchr" instruction. I've run the benchmark both for CPU cyles used as well as bytes/sec scanning strings. Improvement over the Qt 5.2 code: GCC 4.7 GCC 4.9 Clang 3.4 ICC 14 cycles MB/s cycles MB/s cycles MB/s cycles MB/s SSE2 2.1x 2.9x 2.2x 2.9x 2.1x 3.1x 2.2x 3.1x SSE4.2 1.5x 1.7x 1.5x 1.7x 1.5x 1.7x 1.6x 1.8x Once again, the SSE4.2 instruction wasn't as effective as I'd hoped (not to mention that Clang seems to have some bugs emitting it). Change-Id: I57c6e65e91791bb5265965cbd1af7fbd8fe7f588 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Merge qMemEquals and ucstrncmpThiago Macieira2014-01-311-84/+38
| | | | | | | | | | qMemEquals is the same as ucstrncmp and checking that the comparison was 0, so implement it like that. Meanwhile, it already had code for doing 32-bit comparisons in the absence of higher SIMD optimizations, which we can now make use of. Change-Id: If26b446856e3b756efabc98b471fcdc344a8e732 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Improve ucstrncmp with SSE2Thiago Macieira2014-01-312-0/+65
| | | | | | | | | | The benchmarks showed that the basic SSE2-based building block improves performance by about 50% with data extracted from a Qt Creator run. None of the other alternatives provide clear better results -- the best was 3.8% and with only one compiler. Change-Id: I77314785afecfacaf21c41fd79c97cadf357f895 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add support for UTF-8 encoding/decoding with SIMDThiago Macieira2014-01-312-20/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decoding from UTF-8 is easy: if the high bit is set, we fall back to the byte-by-byte decoding. Encoding to UTF-8 requires a little bit more work: to detect anything between 0x0080 and 0xffff, we have several options but none as easy as above. Multiple alternatives are in the benchmark code. In both loops, we do two things once we run into a non-ASCII character: first, we continue the loop for the remainder of ASCII characters in the buffer (which we can tell by checking the bits set in the mask), then we find the last non-ASCII character in that 16-character group, so we don't reenter the SSE code too soon. For the UTF-8 encoding, I have chosen the alternative that results in the best performance. It's closely tied to the alternative running the PMIN instruction, but that requires SSE 4.1. It's not worth the complexity. And quite counter-intuitively, the dedicated string instruction from SSE 4.2 performs most poorly of all solutions. This begs re-visiting the performance of the toLatin1 encoder. The best of 10 benchmark runs of this code were measured on my SandyBridge CPU @ 2.66 GHz (turbo @ 3.3 GHz), both as CPU cycles and as CPU ticks: Compared to: ICU Qt 4.7 non-SSE Qt 5.3 Data set fromUtf8 toUtf8 fromUtf8 toUtf8 fromUtf8 toUtf8 ASCII only 7.50x 6.22x 6.94x 7.60x 4.45x 4.90x 2-char UTF-8 1.17x 1.33x 1.64x 1.56x 1.01x 1.02x 3-char UTF-8 1.08x 1.18x 1.48x 1.33x 0.97x 0.92x 4-char UTF-8 1.05x 1.19x 1.20x 1.21x 0.97x 0.97x Creator data 3.62x 2.16x 2.60x 1.25x 1.78x 1.23x As shown by the numbers, the SSE-based code is slightly worse than the non-SSE code for dense non-ASCII strings. However, as evident in the Qt Creator data, most strings manipulated by applications are either pure ASCII or mostly so, so there's a net gain. Done-with: H. Peter Anvin <hpa@linux.intel.com> Change-Id: Ia74fbdfdcd7b088f6cba5048c03a153c01f5dbc1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QOpenGLTexture: avoid a QImage detach when uploading texture data from itGiuseppe D'Angelo2014-01-311-1/+1
| | | | | | | | | If the image is already in the right format, converting it to RGBA8888 will be just a refcount increment; but calling bits() will then cause an unnecessary detach. Change-Id: I3b06139cd86b74a9082bd0b401a9a14bd4992a10 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QOpenGLTexture: Introduce const void * image upload methodsGiuseppe D'Angelo2014-01-313-12/+155
| | | | | | | | | | An API oversight caused the image upload methods to take a "void *", which is not necessary at all. The underlying texture uploading calls (i.e. the gl(Compressed)Tex(Sub)Image<N>D family) all take a "const void *". The methods taking a "void *" get deprecated. Change-Id: Idfda58d4d7d0af1f335e5cbad7d700f4ccad652c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QWizard: Fix QWizardPrivate::QWizardPrivate()Friedemann Kleint2014-01-311-2/+5
| | | | | | | | | Initialize wizStyle and other variables, silencing a purify warning about uninitialized memory read; use std::fill to initialize the button array. Change-Id: I29ad90a29d406be62179fd33688f05bb5f6b7368 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Prevent crash and emit warning when receiving bogus drop events.Friedemann Kleint2014-01-311-0/+5
| | | | | | | | Task-number: QTBUG-33635 Change-Id: I6d436bc4d47d1d6b063fc2cf27d67fe4684e7491 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QColorDialog: Emit done after setting the selected color.Friedemann Kleint2014-01-311-1/+1
| | | | | | Task-number: QTBUG-35859 Change-Id: I8b23d0283e9678c6698c174d0362cf8d85b2f813 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Move Direct2D paint engine on top of QPaintEngineExLouai Al-Khanji2014-01-313-468/+531
| | | | | | | | | | | | | | | | | Make QWindowsDirect2DPaintEngine a subclass of QPaintEngineEx instead of QPaintEngine like the other paint engines inside Qt. This should both be faster and better supported, as the code paths handling QPaintEngineEx in QPainter are tested more. Additionally the visual output is closer to the raster engine, as all primitives are drawn using the same mechanism, resulting in fewer off-by-one-pixel errors. This change also makes designer work mostly correctly, apart from some remaining clipping bugs. Change-Id: I53d36c08e73883ff35e389d57f9d30b482fc6721 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Cocoa: Merge QNSWindow and QNSPanel, inherit NSPanelGabriel de Dietrich2014-01-312-130/+99
| | | | | | | | | | | Since we will later have frameless NSWindow child QWindows, it makes sense to be able to keep and reuse the instantiated NSWindows in cases like QDockWidgets. If we keep these 2 different classes, it becomes impossible to morph one into the other. Task-number: QTBUG-33082 Change-Id: I351c628b887101b1cfd67689afbf689f119554de Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make HarBuzz-NG the default shaper on MacKonstantin Ritt2014-01-316-8/+51
| | | | | | | | | | | | | | | Since we dropped all platform-related shapers during the QPA refactoring, thus making HarfBuzz the only shaper on all platforms, we can not deal with AAT-capable fonts anymore. HarBuzz-NG now supports it's own shaper backend infrastructure, so the decision was to enable HB's CoreText shaper backend on Mac and simply make HB-NG the default shaper there. Task-number: QTBUG-36056 Change-Id: If22e24fd5cc00c25952934332a2f4123f38135a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: Export QtAndroidPrivate::androidSdkVersion()Christian Strømme2014-01-311-1/+1
| | | | | | | | Prerequisite for making the SDK version (API level) available through QtAndroidExtras and to other modules. Change-Id: Iffd7540c1a85f60d6b6a3e658faa69e095d87afa Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Windows: Fixed alert sound of QMessageBox.Friedemann Kleint2014-01-311-26/+21
| | | | | | | Task-number: QTBUG-33303 Change-Id: I184f169a2ae0e1fa5e21b906c1f7659316030b34 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* eglfs: Mouse hotplugging supportLaszlo Agocs2014-01-318-26/+98
| | | | | | | | | | | | | | On Embedded Linux with libudev support hotplugging was already working, except that the mouse cursor was not shown and hidden. This is now corrected so that the cursor disappears when all mice become disconnected and reappears if a mouse gets plugged in later on. [ChangeLog][QtGui] Mouse hotplugging is now fully supported in eglfs when running on Embedded Linux systems with libudev support enabled. Task-number: QTBUG-36374 Change-Id: Iec7c1557ba6085e3958dd357460cc032896fb174 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Disable the rendering profilingBogDan Vatra2014-01-311-2/+5
| | | | | Change-Id: Ia2d6216104c66a4b2e7bfb36418c13eaa51f55e9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix the repaint position.BogDan Vatra2014-01-311-1/+1
| | | | | | | | The geometry is used to set the dirty region of the screen, so it must be translated in screen coordinates. Change-Id: Ic559a0a0d0e840cb2aa27ae1b02dcc140b29556f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Don't add/remove/lower/raise children windows to the TLW stack.BogDan Vatra2014-01-311-0/+12
| | | | | Change-Id: I4fe6b05fe2a7d6de7c8ecaf9934fd8e285b2c64e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix repaint of transparent images.BogDan Vatra2014-01-312-65/+47
| | | | | | | Remove the native bitmap and paint directly on the surface instead. Change-Id: Ie7010d97aa934a170c079de549903fc3391df4d9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix surface leak, cleanup opengl window.BogDan Vatra2014-01-312-11/+5
| | | | | | | | | | ANativeWindow_fromSurface already acquires the surface, no need to call ANativeWindow_acquire. Remove unused variables. Change-Id: I563573072687927256aef76fab20f645f35778a2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Sort include headersBogDan Vatra2014-01-311-8/+7
| | | | | Change-Id: Ib987ee7c6e2cfcabd725fde4399c968a11dc0868 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Shut up setParent warning.BogDan Vatra2014-01-312-1/+6
| | | | | Change-Id: I43af8bf83d3071f7c1d2eff082df5b1414f553b8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>