| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWS used to have a line to change the composite mode from SourceOver
to Source for the top level widget. This wasn't used with QPA and I
removed the internal DontSetCompositionMode in qtbase. It turns out that
the QWS way is the most efficient one to initialize the background of
the widget.
The alternative is to have the QPlatformBackingStore::beginPaint
always clear the entire to be painted area and then paint the background
of the widget. The difference of painting each pixel once or twice is
noticable on embedded platforms and in the range of one to two fps.
Reproduce the issue with:
echo "QWidget {background: transparent}" > style.css
./examples/widgets/wiggly/wiggly -stylesheet style.css
Task-number: QTBUG-24526
Change-Id: Ica4c980bb3bf6eb87ddb5b510ac7493292d01543
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
| |
Change-Id: I274508826b9be4eb00f67fccae5a18ecbdf41a36
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
| |
Change-Id: Icc537d5b52315b9563078da9fa69ddd67b567f76
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
It goes by the name of QBackingStore these days.
Change-Id: Id46254e47ee0abf9e669862eec6c2205d9634368
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
_QPA_ should only be used for qpa (plugin specific api) files.
Change-Id: I1fb6cd5973fcabec4c7e87eb6ccb048f825e2aad
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was made inline for the sake of performance, but has in hindsight
proven to be not really worth it. It also prevents us from aligning
the internal datastructure of QPainterPath with that of QPolygonF
and the internal QVectorPath class which would make mapping
between the two inside QPainter a lot faster.
Making all this out-of-line now as discussed in the task
https://bugreports.qt-project.org/browse/QTBUG-19998
so we can adress this in a binary compatible fashion during
Qt 5.x
Change-Id: I61058171ed31f8a845fa45517248367c85ce52cd
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
| |
Change-Id: I8544f47177b68cf29ce9fbebb152ca73db6e219d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
|
|
|
|
|
|
|
| |
Put MacOS-specific code in #ifdef blocks to disable compilation on iOS.
Change-Id: I02c99c62b8ceb468b8b58e3c4ef52ca8ae2495f1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
|
|
|
|
|
|
|
|
| |
fa0407bdb50262f8748e955cf698181cc6906542 moved all QSurface code to
a separate except the destructor.
Change-Id: I2bf426a0b70cbffafae7aca8dd5550192f762aeb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since libjpeg 7, decompression scaling factors of [1,16]/8 have
been supported. Upscaling is slower, but using the entire range
of downscaling factors is significantly faster for sizes between
the power-of-two factors.
Time to decompress a 5184x3456 image and scale to 1900x1200,
slightly less than 3/8ths, changes from 251ms to 203ms.
libjpeg versions prior to 7 will round up to the next largest
factor they support, and continue to work as before.
Change-Id: I00a0655df2ef057e739927a643bfe0b0cabd5602
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: aavit <qt_aavit@ovi.com>
|
|
|
|
|
| |
Change-Id: I91c5b7f7b688c4f99c6a364692fd96603a38c9bc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWindow already has windowModality() and setWindowModality() as part of
its API from commit 516f4e283ba4626d7239630397ef867ab0366071. Platform
plugins can use this already to setup modality hints on windows that
they create, but it's not enough to implement modality fully.
QGuiApplication gets a modalWindow() static method, which is similar to
QApplication::activeModalWidget() in that it returns the last modal
window to be shown.
The modal window "stack" moves from QApplicationPrivate to
QGuiApplicationPrivate. The enterModal*() and leaveModal*() functions in
QApplicationPrivate are removed and replaced by
QGuiApplicationPrivate::showModalWindow() and hideModalWindow(), which
are called by QWindow::setVisible() just before calling
QPlatformWindow::setVisible().
The virtual QGuiApplicationPrivate::isWindowBlocked() will tell us if a
window is blocked by a modal window (and tell which modal window for any
interested callers). The default implementation works on the QWindow
level. QApplicationPrivate reimplements isWindowBlocked() and adds popup
and WA_GroupLeader support.
QGuiApplication uses the state set from isWindowBlocked() to block
user-input events: mouse press, mouse move, mouse release, wheel, key
presses, key releases, enter/leave events, close events, and touch
begin, update, and end events.
Note also that the modality helper functions in QtWidgets and
QApplicationPrivate are left in place and working as they always have.
The behavior of QWidget in the presence of modal windows/dialogs should
not change.
Change-Id: I2c89e6026d40160387787a6e009ae1fdc12dfd69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
|
|
|
|
|
|
|
|
|
| |
The comment relates to a change that is neither source- nor
binary-incompatible, so the change can be done in any minor release.
Task-number: QTBUG-25117
Change-Id: Ifba3ef53241f9bf2504c573066e4cfa5fbfe679e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
| |
Source compatible, but binary incompatible, change to QTextOption
API to make it consistent with Qt's coding style.
Change-Id: I368f13925339fa41025a570f684f4b944844a022
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
|
|
|
|
|
|
|
|
| |
This won't get done for Qt 5, and QtOpenGL still implements this API.
Task-number: QTBUG-25069
Change-Id: Ia8437d2a4a5a0e750afdf67764c53d75ee8065f6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
| |
These won't be done for Qt 5.0 and to-do tasks really belong in a
bug-tracker not in the code.
Task-number: QTBUG-25072
Change-Id: Ife4ff148167e0f0c66a58233548f4011b0b10784
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows native font engine supports scaling of non-scalalble fonts, so
make it possible to do so.
Added two functions to QPlatformFontDatabase: fontsAlwaysScalable() and
standardSizes(), and made fontsAlwaysScalable() to return true for
Windows native font database.
Windows Freetype font engine doesn't seem to support scaling of
non-scalable fonts, so didn't enable it in there.
Added implementation of standardSizes() for Mac OS.
Task-number: QTBUG-24970
Change-Id: I41c9356ede8a37b7c61db94340dbeb5b629f34b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Since different platforms come with different fonts, we should
probably leave it up to the platform to decide which family to use.
Change-Id: I18bb81c0ce87cc7e9ac7f3abaeae1b41c0ce8410
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
|
|
|
|
|
|
|
|
| |
Ensure the script item position is within the bounds of the text block
when adjusted to compensate for pre-edit text.
Change-Id: I2c745bf08afc0d9bc3aba27c24c2a123af017dc6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
| |
backBufferReady is not used anywhere
Change-Id: Ic5c8f6a89e031b3bd757b03f60737d55be969ee5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
| |
MSVC does not support the #warning precompiler command and
is considered an error when used. This change checks for
GCC before issuing the warning.
Change-Id: Iee1e27841fe77b0289e88b7b4ccaa176ab56a39d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
| |
The inclusion guards refer to the old graphics system code
Change-Id: Ifa72e3030c83797e471735a9a696bf12c0f75b08
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
|
|
|
|
|
|
|
| |
QPlatformCursorImage::hotspot() should be const.
Change-Id: I2b517098e75b013947386a5a620a15dc48e76cec
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The global destructor for the clean up hooks might be called before the
global destructor for QQuickPixmapCache objects.
This is an additional fix for QTBUG-8681
Task-number: QTBUG-8681
Change-Id: I8694a7a246980f488aef78071c613e3a908c7db3
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a mechanism to load comma separated generic QPA plugins via
exported environment variables. (Drastically simplifies QPA usage in custom
environments where a variety of plugins could be used and heuristics are
consequently a poor fit)
Change-Id: I292f3fbfc8b8ad2b4f416984ef0a10b9b59de531
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
| |
The removal won't happen in Qt 5, and there's no great value in making
NoRole have the value 0 at the potential risk of breaking existing code.
Task-number: QTBUG-25068
Change-Id: I57238f55a23e77a783ebac47b96b4a5e62480add
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
|
|
|
|
|
|
|
|
| |
Fix MSVC warnings about unused q, d where only static functions
are used.
Change-Id: I239d6fc3c851b0a62434cb09fc0e1967f2e6d031
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
| |
Change-Id: I46872c5b2866454112092c1ec5efbfe15db5af33
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
| |
This also adds the QWindow::windowModalityChanged() signal.
Change-Id: I6e3bc3155d72811d173857c39d36dcb264928334
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
| |
Use EGL extensions for some things to allow serialization
instead of the somewhat specialized serializeBuffer() function.
Change-Id: I8d15e85bfb80d12fa953ba094564ddfca1aa6d6a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
|
|
|
|
|
|
|
| |
Variables that are only used in asserts.
Change-Id: I0984b676ad9b67f5ae72266b8540e8054163918f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
There are already a bunch of clip() functions in this class.
Rename the one for returning clip data to clipData() to make
it clearer. It also eliminate a warning when compiling with
clang.
Change-Id: I1f890ad6bf1c0274a0b38b3116a3ec3d2957d44a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
|
|
|
|
|
|
|
|
| |
We would otherwise end up cloning the font engine for absolutely no
reason when the pixel size is already right.
Change-Id: I8c34d2b53b596ad49d00031a3fb8e79f3b30d591
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Only warn if the folder containing the qpf2 files is not found.
The code path is triggered by the QPA 'minimal' plugin.
Change-Id: I12a32001ce867096627033b1d5fb894cab163853
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
The positions returned by getGlyphPositions() in QFontEngine are
for the base line of the glyphs. We offset this by -ascent to get
the top of the actual bounding rect.
Task-number: QTBUG-22919
Change-Id: Id82c66ecfbdf58064f5ad26f4193fa55ac26bc7c
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Added 'd->alphaCache.clear();' to qtbase/src/gui/painting/qpdf.cpp since
also the alpha cache needs to cleared when printing to PDF.
Task-number: QTBUG-24936
Change-Id: I12c41a98f4bd54c154fa47acebe0421e9a38a3ec
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an empty new block is being added, the layoutData->memory data
will be 0, thus QTextEngine::attributes() will return 0. We should
only access the attributes pointer when some text actually exist.
Task-number: QTBUG-24718
(cherry picked from commit cac12f4592477d99ef6fffaad40345bf85ef53b5)
Change-Id: I203b283dd28653d4b57ba8bfffb259c773f67f19
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
| |
Change-Id: Ic73f6d2c748b2ac02b1a8b8c0b00721793557cfd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPlatformInputContext now gets notified on changed focus and
has inputMethodAccepted() telling whether current focus object
accepts input method events.
Also adapted IBus plugin to use this. Key event filtering for
focused objects without input method support got fixed by the
change.
Change-Id: I6910aa6af2459d752a5763f0ae88fa8c34e5b165
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
|
|
|
|
|
| |
Change-Id: I78550862a2b1eb14f89c5ad01cc3718cf83606d2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
|
|
|
|
|
|
|
|
| |
Avoid calls to QStyleHint and QPlatformIntegration from
threads.
Change-Id: I851ef029ea348f182e0b42536d0a994960aa9187
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When the scaling effects the pen width so that it is less than 1 pixel
in width then it would use the QCosmeticStroker to draw, however this
should not be the case for cosmetic pens that are not less than 1 pixel
in width as the scaling does not change their width.
Task-number: QTBUG-25006
Change-Id: I142db0f3a7ee02aa87171495d5a7a7011100814e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The GCC option -ftree-vectorize is enabled only at level -O3, so force
-O3 if this is an optimised build. Also, ensure that we're using SSE
for floating point math if we're in x86 (32-bit) builds.
No change is necessary for the Intel compiler, since it enables
vectorisation by default at any non-zero -O level.
These options are not possible with MSVC.
Change-Id: If1169a73cd8a3e8b34d9e21f281b78897b9aec3e
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
removed the qDebugs that are not relevant for the user and were printed when the
app was started from QtCreator.
Change-Id: Iae49d6c780a4d3cfd55b3e149555294e150f3f52
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
| |
In the deprecated function the child parameter got lost.
Change-Id: Ieeef19100bffaaa6079185dae6ae5bf82dcd7a60
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-23272
Change-Id: Idcdb9620910577b3c0fc9a792a0446665bd2eab6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it more useful in all the Qt apps that don't set it,
given that it's used internally by QTemporaryFile, QTemporaryDir,
QStandardPaths, QDBus, QAccessibleApplication, etc.
Qt4 compatibility in the deprecated QDesktopServices is preserved,
no fallback there.
Change-Id: I584463507cf917a3720793c6bd45d07c60f8356c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Previously the method didn't take into account that hitTest()
returns visual index, i.e. containing the preedit, and thus was easily
hitting assertion. Need to compensate for that before checking for actual
link.
Change-Id: I119e7f91088b4db9d347a3da338f6df915ce9719
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
| |
Change-Id: I7173816e0d792d6d26497b4fd59a57a50e512afd
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|