summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/painting.pri
Commit message (Collapse)AuthorAgeFilesLines
* ARM: do not use the clang integrated assembler in some cases.Erik Verbruggen2014-07-031-0/+1
| | | | | | | | | | | | The integrated assembler of clang does not understand some/all of the ARM macro assembler syntax used in pixman-arm-neon-asm.S. By default, this integrated assembler is used when using the "clang" command as a driver. This patch turns off the integrated assembler of clang for that file. Change-Id: Ic06801266b5a4b097ca835d815bcc5d5fc672946 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QPageLayout - Add new QPageLayout classJohn Layt2014-03-171-0/+2
| | | | | | | | | | | | | | | | New QPageLayout to encapsulate page layout details including page size, orientation and margins. Scale may be added later. Subsequent changes will use this class in the paged paint devices, paint engines, print engines, and print plugins to replace multiple inconsistent local implementations. [ChangeLog][QtGui] Added class QPageLayout to support handling page layouts including the page size, orientation and margins. Change-Id: Ife1ddd6c2a8d1516542be2eb37425111f41cd5c7 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QPageSize - Add new QPageSize classJohn Layt2014-03-171-0/+2
| | | | | | | | | | | | | | | | | | New QPageSize class to encapsulate paper sizes and names to ensure all sizes and conversions are consistent and match the Postscript standard sizes. Subsequent changes will use this class in the paged paint devices, paint engines, print engines, and print plugins to replace multiple inconsistent local implementations. [ChangeLog][QtGui][QPageSize] Added new QPageSize class to implement Adobe Postscript PPD standard page sizes. This class supports the standard page sizes, names and keys from the PPD standard, and provides convenient size and rect conversion methods. Change-Id: Ie2c8be0c3df0d29ac5da4cd9877ad41d0982633c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove runtime detection of Neon on ARM CPUsThiago Macieira2014-01-161-3/+3
| | | | | | | | | | | | | Now the only way to enable Neon support is to change the mkspec. [ChangeLog][Important Behavior Changes] Qt no longer checks for support for the Neon FPU on ARM platforms at runtime. Code optimized for Neon must be enabled unconditionally at compile time by ensuring the compiler supports Neon. You may need to edit your mkspec for that. Task-number: QTBUG-30440 Change-Id: I4df9b2bf3cd022f8ed70f02f16878cb2cb3fe6fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove runtime detection of SSE2Thiago Macieira2014-01-161-2/+4
| | | | | | | | | | | | | | | | | | If the compiler supports SSE2, we'll use our SSE2-optimised code unconditionally. Runtime detection is left for SSSE3 code. The SSE2 codebase is big and thus a timebomb if an inline function gets leaked out and run without runtime check. In reality, it's extremely unlikely people running CPUs without SSE2 support are running Qt 5 at this moment (they're either too old or too new, e.g. Intel Quark). The SSSE3 codebase is a lot more manageable. Task-number: QTBUG-30440 Change-Id: I3e586e4434e820365d5316b650ee3061d0acf767 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove the files building AVX codeThiago Macieira2013-12-101-1/+0
| | | | | | | | | | | | | | | This feature was never completely implemented. Sure, it's nice to build the SSE2 + SSSE3 code with the VEX prefix, which results in better code. But the leap isn't that big anyway. This is the first step to removing the runtime detection for the drawhelpers. They create timebombs when we use inline functions. Task-number: QTBUG-30440 Change-Id: Ic53b2cf5261106a1c940d4a36eb6111b7d998be1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Enable NEON optimizations, except for the pixman draw-helpersTor Arne Vestbø2013-04-041-3/+6
| | | | | | | | | | We used to disable NEON completely, as the iOS toolchain does not handle the GAS syntax of the pixman draw-helpers. But we can limit the disabling to just the draw-helpers, which means we get NEON optimization of eg. QImage and QString. Change-Id: If350b06ce521cca8b24468be5a168ff21e9e7124 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Rename qt_mips_asm_dsp.h to a "_p.h" headerThiago Macieira2013-01-091-1/+1
| | | | | | | | | | | It mustn't be installed and it mustn't be available in the master include. It's an assembler header anyway. Also, take the opportunity to add the "We mean it". Change-Id: Id4233e5bda458714a0d329549afe499d861acc56 Reviewed-by: Adrian Perez de Castro <aperez@igalia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Remove _qpa from cpp filenamesGirish Ramakrishnan2012-07-031-1/+1
| | | | | | | | 36547f4eff44361f7a6acd0cff107c0e47561f93 removed the _qpa from .h files and promised to remove it from .cpp files at a later date. Change-Id: I24a5c3796f6b07dd9a1931b699f3212d315edb12 Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
* Reorganise the painting.pri file after the last round of cleanupsThiago Macieira2012-06-101-29/+20
| | | | | Change-Id: I35f5356fc59d109074d39c4fafd608540743479a Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add AVX support for the painting and image code.Thiago Macieira2012-05-221-1/+2
| | | | | | | | There are no new routines, this is just the old SSE2 and SSSE3 code compiled in AVX mode, meaning the instructions use the VEX prefix. Change-Id: I79a8bfaf6b30a050618db899f5a3bbc220449f0b Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Expose QPA API under qpa/*Girish Ramakrishnan2012-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reasons for doing this are: 1. _qpa.h end up in the master QtGui include file. QtGui is meant for userland applications. qpa code is neither binary nor source compatible. Inadvertant use of QPA api makes the user code binary-incompatible. 2. syncqt creates forwarding headers for non-private header files. This gives people the impression that this is public API. As discussed on the mailing list, even though QPA api is internal and subject to change, it needs to treated differently from private headers since they will be used by in-qtbase and out-of-qtbase plugins. This commit does the following: 1. The _qpa in QPA header files is dropped. 2. syncqt now treats any file with qplatform prefix as a special file and moves it to qpa/ directory. The recommended way of using QPA API in plugins is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API from multiple modules (for example, qplatformfoo might be in QtPrintSupport) 3. The user needs to explicitly add QT += <module>-private to get access to the qpa api. 4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo includes. This commit does not change the cpp filenames. This requires a more careful merging of existing non qpa cpp files and existing cpp files on a case by case basis. This can be done at anytime. The following files are not renamed as part of this changed but will be fixed as part of a future change: src/gui/kernel/qgenericpluginfactory_qpa.h src/gui/kernel/qgenericplugin_qpa.h src/gui/kernel/qwindowsysteminterface_qpa.h files were renamed using for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done includes were renamed using script for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \ -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \ -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \ -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \ $file done Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-161-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * Fold qpaintdevice_qpa.cpp into qpaintdevice.cppGirish Ramakrishnan2012-04-151-1/+0
| | | | | | | | | | Change-Id: I274508826b9be4eb00f67fccae5a18ecbdf41a36 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-101-0/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * Introduce FontSmoothingGamma as a platform style hint.Friedemann Kleint2012-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | - Allocate gamma tables on the heap in a thread-safe way, use font smoothing returned by the style hints of the platform to calculate them. - Improve font rendering on Windows. Change-Id: I8cd39b51cf03cbd642474c02b9076814baecd597 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Remove the old code using MMX registers.Thiago Macieira2012-03-281-6/+0
|/ | | | | | | | | | | | | | | | | | | There are only 8 MMX registers, each 64-bit wide, and they alias the x87 registers. The access to the MMX register cannot use the new VEX-prefix instructions either. All of the functions being replaced are either present in the qdrawhelper_sse2.cpp and qdrawhelper_ssse3.cpp files, or the plain C++ function in qdrawhelper.cpp is vectorised when compiled with -ftree-vectorize (enabled in -O3), if SSE2 support is enabled. All x86-64 processors have SSE2, so this is a net improvement for 64-bit builds. For 32-bit builds, without further support this will cause the code to use non-vector or x87 instructions, which aren't the best. The solution will come in another commit. Change-Id: I4a22d8a2516b79172867510202d0fd627db54807 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* MIPS DSP configure detection and initial blend optimizations.Damir Tatalovic2012-03-221-0/+5
| | | | | | | | | | | | | | | | | | | | Adds new MIPS configure test and -no-mips_dsp and -no-mips_dspr2 configure options. List of optimized implementations: - comp_func_SourceOver - comp_func_Source - qt_memfill32 - qt_destFetchARGB32 - qt_destStoreARGB32 - blend [RGB32][RGB32] - blend [ARGB32_Pre][RGB32] - blend [RGB32][ARGB32_Pre] - blend [ARGB32_Pre][ARGB32_Pre] Change-Id: I35411858295b7b3f4895eb56e3b93397528903cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add distance field generation functions from ScenegraphJiang Jiang2012-02-061-2/+4
| | | | | | | | Since we may use distance field text rendering in raster, these functions need to be moved from declarative to QtGui. Change-Id: I158bc3bae02b5590ae812f06ad7a78a5914bcb9e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Remove Symbian specific code from QtGui.Xizhi Zhu2012-01-311-13/+0
| | | | | Change-Id: I450a78863462936d0b18e211763f274b59497109 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove qtessellator.* from QtGuiLars Knoll2011-08-191-2/+0
| | | | | | | | | It's now unused since the GL1 paintengine is gone. Change-Id: I1415b725dc05aab920670976a8eb8c3145464297 Reviewed-on: http://codereview.qt.nokia.com/3246 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QColormap is gone from QtGuiLars Knoll2011-08-191-1/+0
| | | | | | | | Fixes compilion of Gui Change-Id: I5b66b3d3817d8e54c990d761bb8e8b591fa0da63 Reviewed-on: http://codereview.qt.nokia.com/3245 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Restore feature compatibility with QPrinter in QTextDocument::printLars Knoll2011-08-191-0/+1
| | | | | | | | | | | | Add a margin method to QPagedPaintDevice. The other variables required are stored in QPagedPaintDevicePrivate without a public API for now. This needs cleaning up once we have a new printing system. Change-Id: Id3f2d7ac7f3cbce8619072a897d91f3a588add64 Reviewed-on: http://codereview.qt.nokia.com/3211 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Introduce a paged paintdevice and use itLars Knoll2011-08-191-0/+2
| | | | | | | | | | | Introduce a QPagedPaintDevice class that has a newPage() method and page dimensions. QPdfWriter and QPrinter inherit from it. Add a bit of API to QPdfWriter. Change-Id: Ibf23e7fe741f3a5ed854faf5d249a272acc75f35 Reviewed-on: http://codereview.qt.nokia.com/3206 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* move printing related files into their own directoryLars Knoll2011-08-191-82/+2
| | | | | | | | | | This is done to prepare the next step where we move printing into it's own module. Change-Id: I95919c28079983e7c5e4ff23d223f8c062b8ac8c Reviewed-on: http://codereview.qt.nokia.com/3205 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* first version of a public API to generate PDFsLars Knoll2011-08-191-0/+2
| | | | | | | | | | The class is required to be able to move the printing subsystem out into a module of it's own. Change-Id: I80703b8a8725504c7e6884a34f76e0735efcf95a Reviewed-on: http://codereview.qt.nokia.com/3200 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Move QColorMap into QtWidgetsLars Knoll2011-08-191-1/+0
| | | | | | | | | | | | | Remove the remaining dependency in qnativeimage and move the whole class into QtGui for compatibility. The class is not needed anymore since we're not going to support 8bit/indexed displays going forward. Change-Id: I7b5f1b2a5661db4ed77bb3801039114c7518512d Reviewed-on: http://codereview.qt.nokia.com/3199 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Rename QWindowSurface -> QBackingStore and split into platform / public.Samuel Rødal2011-06-211-2/+4
| | | | Also get rid of GL window surface and related classes.
* Compile on Mac.Morten Sorvig2011-05-301-1/+1
| | | Use the unix QPrinterInfo implementation.
* Add QPlatformPrinterSupport.Friedemann Kleint2011-05-301-3/+4
| | | | | | | Add QPlatformPrinterSupport which provides functionality for obtaining QPrinterInfo and creating native printer engines. Rubber-stamped-by: Lars Knoll <lars.knoll@nokia.com>
* Compile fix for QtGui when configure with -qpa on WindowsOlli Werwolff2011-05-261-3/+3
| | | | Reviewed-by: Friedemann Kleint
* Merge remote branch 'origin/master' into refactorLars Knoll2011-05-121-1/+3
|\ | | | | | | | | | | | | | | Conflicts: src/gui/gui.pro src/gui/painting/painting.pri src/opengl/opengl.pro src/openvg/openvg.pro
| * New algorithm for drawing thin linesLars Knoll2011-05-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit 37c329a3e35fabc88fbcad824a69f37c671d2132)
* | qdrawutil is for QtWidgetsLars Knoll2011-05-041-2/+0
| | | | | | | | the methods don't make sense for QML based apps
* | QStylePainter belongs in QtWidgetsLars Knoll2011-05-041-2/+0
| | | | | | | | | | Move it into the styles/ directory that will end up in the QtWidgets library
* | split kernel/ up according to the future library splitLars Knoll2011-05-041-5/+0
| | | | | | | | | | | | | | Create a guikernel/ directory that contains the files that'll go into libQtGui. What remains in kernel/ will go into QtWidgets. In addition to that image/, painting/ and text will end up int QtGui.
* | Get rid of unused window surfaces.Samuel Rødal2011-05-041-15/+1
| |
* | remove obsolete stuffLars Knoll2011-05-031-1/+0
| | | | | | | | | | everything inside QT3_SUPPORT is gone in gui/painting
* | remove postscript support from QtLars Knoll2011-05-031-3/+0
| | | | | | | | | | I really wanted to do this since many years already! :)
* | remove the graphicssystem code paths.Lars Knoll2011-05-031-19/+0
| | | | | | | | | | QPA's platform integration layer replaces the graphics system now.
* | QWS removal, part 2Lars Knoll2011-05-021-31/+5
|/
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+269
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12