summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Correct antialias disabling logic for Core TextJiang Jiang2011-06-041-3/+2
| | | | | | | | | | | We should always turn antialias off when QFont::NoAntialias being passed in styleStrategy. That corrects some QStaticText tests. Change-Id: Iaffc5f3bb7f501dcb648cab41a8b6ffcf93f90ae Reviewed-on: http://codereview.qt.nokia.com/328 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> (cherry picked from commit c25495dba7eff32b66119737552905787e97e665)
* Correct QStaticText tests after recent changesJiang Jiang2011-06-041-2/+2
| | | | | | | | | | | | Raster engine on Mac now correctly handles transformation, so no need to XFAIL anymore. Also fixes a drawStaticText origin mistake, the y origin should be the top left point rather than the baseline. Change-Id: I6058e7099b336d9d5a6586344a07be3c7d76fb64 Reviewed-on: http://codereview.qt.nokia.com/329 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> (cherry picked from commit ea0e38c0ddb687f7873e0937e1b7130f1588c3d6)
* Add missing license header.Jason Barron2011-06-031-0/+41
| | | | Reviewed-by: aavit
* Add basic static text drawing capability to lanceJiang Jiang2011-06-033-0/+143
| | | | | | | | | Task-number: QTBUG-17514 Change-Id: Ife7cd8f940424d805f634ca190bcbf6fd83d8682 Reviewed-on: http://codereview.qt.nokia.com/321 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: aavit (cherry picked from commit ce041a6516bfb0d9bd9ee1707605b478e1c9171a)
* Fix Windows buildJiang Jiang2011-06-031-2/+2
|
* Refactor glyph pretransform checkJiang Jiang2011-06-039-56/+65
| | | | | | | | | | | | | | | | Move paintEngineSupportsTransformations logic from QPainter to paint engine subclasses. Simplify and consolidate checks for cached drawing (pretransformed) and path drawing (untransformed) in raster paint engine. Fix unnecessary transform when paint engines actually take the path drawing track. Fix scaling and rotation transform in raster engine for Mac. Task-number: QTBUG-19086 Change-Id: I1c0c1800a5173d3db765b9fccfd0e7a3628e3815 Reviewed-on: http://codereview.qt.nokia.com/298 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> (cherry picked from commit 43c0e08ba2e3487840b4063b2099bc17cdd4dce2)
* Add the new 'glhypnotizer' demo.Jason Barron2011-06-038-0/+484
| | | | | | | Introduce a new demo to demonstrate the usage of OpenGL from a separate thread. Reviewed-by: Samuel
* Fix problem with cosmetic stroking of cubic beziersaavit2011-06-021-2/+2
| | | | The new algorithm would fail if the start and end point were identical.
* Fix autotest to not depend on rasterization detailsaavit2011-05-311-0/+2
| | | | This test broke with 37c329a.
* Still use midpoint rendering of aliased ellipsesaavit2011-05-312-0/+161
| | | | | | | 37c329a removed this, but it is required to get correct fills, particularly for small radii Reviewed-by: gunnar
* Symbian build failure for Armv5Sami Merila2011-05-314-12/+12
| | | | | | | 1. Changed externs to Q_GUI_EXPORTs 2. ABSENTed missing exports from openGL's DEF-file Reviewed-by: Tomi Vihria
* Fix the wayland windowsurface so that we have stencil and depth bufferJørgen Lind2011-05-301-1/+1
|
* We need to let the currentContext be in the same state afterJørgen Lind2011-05-301-1/+8
| | | | setting the new eglsurface
* Track Wayland changesPaul Olav Tvete2011-05-303-3/+40
| | | | | | | The wl_display_get_xxxx_visual() functions have been removed, and are replaced by a compositor event. Reviewed-by: Samuel
* Fix deadlocks in wayland clipboard that can occur in special scenarios.Laszlo Agocs2011-05-302-10/+24
| | | | | | | | | | | | setMimeData() emits the changed signal always so to prevent duplicated signals keyboardFocus() must only emit when the change came from another wayland client. However direct connection may cause issues when invoking the slot from a wayland callback, so use a metacall to make sure we return from the callback. Unnecessary data transfer and potential deadlock is now also avoided when a client is requesting the mime data from itself. Reviewed-by: Jørgen Lind
* Prevent crash in wayland mimedata in case there is no offer.Laszlo Agocs2011-05-301-0/+2
|
* Remove const from QPlatformClipboard::mimeData().Laszlo Agocs2011-05-306-11/+9
| | | | | Most implementations will anyway do non-const operations in there, the change avoids the need for const_cast or mutable.
* Retrieve the actual data in the Wayland clipboard only when requested.Laszlo Agocs2011-05-302-23/+69
|
* Added Wayland selection support.Laszlo Agocs2011-05-3011-3/+361
|
* Keep line consistency with text baselineJiang Jiang2011-05-304-8/+10
| | | | | | Also revert previous underline patch. Reviewed-by: Eskil
* Fix compile for systems with old fontconfigJiang Jiang2011-05-271-0/+5
| | | | | | | Change-Id: Ia26796bdbab7988d14163d3c1290111c0cb22bf7 Reviewed-on: http://codereview.qt.nokia.com/182 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> (cherry picked from commit 93339428c040a2576e4e0da315b1a6a4e4c1916f)
* Fix boundry conditions for cursor hit testJiang Jiang2011-05-251-1/+1
| | | | | | Clicking at the edge of a glyph means lookup for the left glyph. Reviewed-by: TrustMe
* Add authentication token support for wayland windowsLasse Holmstedt2011-05-256-14/+53
| | | | | | | | For compositors that support it, the wayland clients can associate themselves with an auth token, specified by WL_AUTHENTICATION_TOKEN env var, or by directly specifying it in the wayland client plugin. Reviewed-by: Samuel Rødal
* Fix QFontEngineX11FT compilationJiang Jiang2011-05-251-0/+2
| | | | | | xglyph_format is only available when XRender is present. Reviewed-by: Fabien Freling
* Fix cursor position test on CursorOnCharacter caseJiang Jiang2011-05-253-4/+9
| | | | Reviewed-by: TrustMe
* Refer to 3rdparty in windowmanagerintegration headersLasse Holmstedt2011-05-241-6/+6
| | | | Reviewed-by: Paul Olav Tvete
* Move wayland headers files to 3rdparty due to copyright issuesLasse Holmstedt2011-05-242-0/+0
| | | | Reviewed-by: Paul Olav Tvete
* Revert the revert of subpixel positions interpretation for textJiang Jiang2011-05-231-3/+2
| | | | | | | So that text rendering with raster engine on Mac can be the same as with native engine. Reviewed-by: Eskil
* Support placing cursor in ligature with mouse or touchJiang Jiang2011-05-234-7/+102
| | | | | | | | | | | | We need to find out the closest element in the ligature to the point we clicked (or tapped), currently we do this by dividing the width of that ligature glyph evenly by the number of characters it covered. We only support Common and Greek script at this point, ligatures in other scripts are still handled as a whole. Task-number: QTBUG-19260 Reviewed-by: Eskil
* Force repaint of modal sheet in Cocoa.Fabien Freling2011-05-231-0/+1
| | | | | | | | | | | With the raster engine on Mac OS X, modal sheets only get their content painted once the sliding down animation is over. By forcing the repaint, the modal sheet has the correct painting during the whole animation. Task-number: QTBUG-17426 Reviewed-by: Samuel Rødal
* Fixed inconsistent behaviour in Qt.rect().Kim Motoyoshi Kalland2011-05-202-4/+1
| | | | | | | | | The QML function Qt.rect() used to return a null rectangle if the width or height argument were negative. This was inconsistent with Qt.size() and parsing a string of the type "x,y,wxh" which do not check the width and height. Reviewed-by: Samuel
* Fix smaller bugs in the strokerLars Knoll2011-05-201-7/+14
| | | | | | Calculating the continuation point for closed contours was not taking transformations and the half pixel offset into account.
* Fix ligature offset in multi-line textJiang Jiang2011-05-202-2/+19
| | | | Reviewed-by: Eskil
* Full translucent background support in xcb and xlib backend.Samuel Rødal2011-05-197-12/+55
| | | | | | | | Make sure to pick an alpha visual also for non-GL surface types, and to ask for alpha in the window format if the WA_TranslucentBackground attribute is set. Reviewed-by: Janusz Lewandowski
* Lighthouse xcb and xlib: Add support for transparency of GLX windows.Janusz Lewandowski2011-05-1910-25/+78
| | | | | Merge-request: 1231 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Lighthouse minimal: Add support for transparencyJanusz Lewandowski2011-05-192-3/+3
| | | | | Merge-request: 1231 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Compile fixes for Xlib plugin.Samuel Rødal2011-05-194-15/+13
|
* Don't crash if windowmanager is not initializedLasse Holmstedt2011-05-191-1/+2
| | | | | | This can happen if there is e.g. no wayland server. Reviewed-by: sroedal
* Compilation fix of f8e8583aavit2011-05-191-2/+3
|
* Revert "fix breakages in qpainter autotests."aavit2011-05-191-3/+3
| | | | | | | | | | | | This reverts commit 50a53d2f7a7e12cd597dc72a08ad62b79fee4554. ...which was required because of 69fc9e594e6d5da87bff42707973683f84b67c93 "Fix how subpixel positions are intepreted in an aliased grid." which was reverted in f8e85838c5531b56c2175cbdb9c24db426f7fd89 because of 37c329a3e35fabc88fbcad824a69f37c671d2132 "New algorithm for drawing thin lines". phew!
* Wayland: send surface id + process id pairs to compositorLasse Holmstedt2011-05-199-1/+324
| | | | | | | This enables doing window/process management since we can now actually map the process we've launched to a window. Reviewed-by: Samuel Rødal
* Revert "Fix how subpixel positions are intepreted in an aliased grid."aavit2011-05-194-15/+46
| | | | | | | | | This reverts commit 69fc9e594e6d5da87bff42707973683f84b67c93. Conflicts: src/gui/painting/qpaintengine_raster.cpp src/gui/painting/qrasterizer.cpp
* Change the flushing of the CGContext to a synchronization.Fabien Freling2011-05-182-5/+3
| | | | | | | | | | | | | | When many NSView are being drawn, calling CGContextFlush() is too expensive and some flickering becomes apparent. We now call CGContextSynchronize() instead. Since this solves the flickering problem, we can now call setNeedsDisplay: for items in the unified toolbar. This allows us to smootly trigger many flushings inside the unified toolbar. Task-number: QTBUG-19267 Reviewed-by: Jiang Jiang
* Fall back to using paths for large fonts in drawStaticText()Eskil Abrahamsen Blomfeldt2011-05-184-14/+68
| | | | | | | | | | | | | QStaticText had an implicit risk which meant you had to make sure the text size did not grow unreasonably large. This was intended to avoid hiding the performance impact of using QStaticText for such a purpose, but it's too inconvenient. Thus, the same fall back as in drawTextItem() has been introduced. This will also fix a bug recently introduced when we started using the FT cache to draw static text in the raster engine, since this will fail for large fonts. Task-number: QTBUG-19084, QTBUG-19370 Reviewed-by: Jiang Jiang
* fix autotest regressions introduced by 37c329a3Lars Knoll2011-05-162-0/+86
| | | | | Add proper license headers and properly clip pixel drawing to the devices bounding rect.
* Workaround a bug in Core Text to select Light fontsJiang Jiang2011-05-161-1/+6
| | | | | | | | | | | | | | | | Currently in Core Text there is not proper way to select fonts with Light weight, for example: QFont font("Helvetica"); font.setWeight(QFont::Light); will give you Helvetica-Light, as with: QFont font("Helvetica"); font.setWeight(QFont::Normal); because of a bug in Core Text, applying 0 symbolic traits with CTFontCreateCopyWithSymbolicTraits will always return the Light variant of that font family. Thus, we should only do this unless symbolicTraits is not 0 or font.weight is not Normal (Light is not a symbolic trait, but CT doesn't support selecting Light weight numerically). Reviewed-by: Eskil
* fix compilation with namespacesLars Knoll2011-05-121-8/+8
|
* Fix compilation with namespaces enabledLars Knoll2011-05-122-0/+14
| | | | Reviewed-by: Samuel Rødal
* Clear confusion between QMainWindow and QMainWindowLayout.Fabien Freling2011-05-123-3/+1
| | | | | | | | | | The variables activateUnifiedToolbarAfterFullScreen and useHIToolBar were implemented in both classes. This was an obvious bug, where variable would be initialized in one class and use in the other one. Task-number: QTBUG-18874 Reviewed-by: Yoann Lopes
* New algorithm for drawing thin linesLars Knoll2011-05-126-1449/+1137
| | | | | | | | | | | | | | | | | Added a new QCosmeticStroker class for drawing thin lines. The class can handle both aliased and antialiased lines. The code replaces all the midpoint line drawing algorithms in the raster paintengine and gives correct subpixel positioning for lines. It gives around 30% to 50% speedup against the midpoint algorithm. If we missed that fast path, the speedup is around between a factor of 6 to 8 for lines and aliased paths and 100 and 400 for antialiased paths. Reviewed-by: Kim