| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Conflicts:
src/gui/painting/qbackingstore.cpp
src/gui/painting/qwindowsurface_raster.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When passing a printer that is set up to print to a PDF file into
QPrintDialog, the print dialog could invalidate the printer and
not update the validity of it in a proper manner.
Task-number: 252873
Reviewed-by: Samuel
|
| |
| |
| |
| | |
Reviewed-by: nrc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The fix for 1x1 source rect image drawing in change
ffbb3c1a2aee4134dce80cd144a26bf32865b698 was incorrect for transforms
with type >= TxScale. The aliased coordinate delta needs to be applied
in device coordinates, not in logical coordinates.
Also specialize the non-antialiased TxScale case by simply calling
fillRect_normalized directly, avoiding having to scan convert the
rectangle manually.
Task-number: 251561
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Updates triggered by the line edit itself, i.e. cursor blinking, are not
processed after the top-level is resized. This is yet another problem
caused by the event dispatcher on Windows (Qt posted events are not sent
during top-level resize, task 146849). We added a work-around for that
particular case by posting an event via Windows, but the widget is not
visible on the screen (hidden from Windows' POV) so it'll never be posted.
And of course then we'll never receive it and the backing store is not
synced. This work-around is therefore useless for widgets that are
not visible on the screen.
However, not receiving update requests while resizing the top-level
(in this case QGraphicsView), is not a problem for embedded widgets
because all items and hence the proxied widgets are repainted by
graphics view anyways.
Task-number: 252400
Reviewed-by: Olivier
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building docs for the mac, qdoc comments for functions defined
in the .h file were not found in any of the .cpp files in the mac
package because they were in the x11 or windows .cpp file. So I
moved them to a .cpp file that is in all the packages.
Task-number: 252496 252492
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building docs for the mac, qdoc comments for functions defined
in the .h file were not found in any of the .cpp files in the mac
package because they were in the x11 or windows .cpp file. So I
moved them to a .cpp file that is in all the packages.
#Task-number: 252496
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qcocoaview_mac_p.h
src/gui/widgets/qmainwindow.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't know why the X server crashes, but it's reproducible both by us
and customers so we should fall back to the raster paint engine to avoid
the crash.
Task-number: 244362
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| | |
Don't use aliased coordinate delta for image drawing.
Related to change fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd.
Task-number: 251561
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Images coordinates should simply be rounded and are not to be subject
to the aliased coordinate delta. The patch also adds a tiny delta in
QSpanData::setupMatrix() to ensure coordinates for fetching from source
images are rounded the opposite direction of the target rectangle.
This removes a lot of artifacts when trying to do border-image based
drawing on non-integer coordinates. A new qps test for border-image
drawing is included.
Task-number: 251561
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bug appears in the raster paint engine and only in release mode as
the cause of the bug is in the MMX and SSE blend functions which are
disabled in debug. To prevent it simply we return early if we detect
that we have an opacity of 0.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The width of a pixmap is NOT the same as the bytes per row. We may have
been able to do that in the past, but it doesn't work in the general
case. I also took the liberty to introduce a QCFType to automatically
handling the free in the general case.
Task-number: 252176
Reviewed-by: sroedal
|
| |
| |
| |
| |
| |
| |
| |
| | |
To avoid increasing code size for an uncommon case, the code
is #ifdef QT_QWS_ROTATE_BGR
Task-number: 250299
Reviewed-by: Tom
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/gui/itemviews/qabstractitemview.cpp
|
| |
| |
| |
| |
| | |
Task-number: 252668
Reviewed-by: Samuel
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
Avoid QRegion<->QPainterPath conversion if possible.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can speed up the calculation by using rect intersections
if possible, i.e. QRegion &= QRect instead of QRegion &= QRegion.
Then we'll get rid of one QRegion construction and the intersection
itself is slightly faster.
Reviewed-by: Samuel
|
| | |
|
| |
| |
| |
| |
| |
| | |
Also add another constructor to QTileRules.
Reviewed-by: Jens Bache-Wiig
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QTileRules struct.
Implements a function to allow drawing CSS3-like border-images (also known as nine-grid images). Next step will be to convert the CSS-style code to use this function for drawing border-images.
Task-number: none
Reviewed-by: jbache
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Addendum to change 9b674ddcea7c0ff7912f185474b7d98bc83bd39f.
The problem was that QWidget::paintEngine() (pure virtual) was
called while being in the destructor. The use-case itself
(see above change) is very very corner case, but still,
it shouldn't crash.
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| |
| |
| | |
Areas of 0-alpha are quite common in ARGB images/pixmaps, so special
case them in the argb32 on argb32 image blend function.
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: 246130
Reviewed-by: joerg
Introduce Q_WS_WINCE for Windows CE only windowing parts. So far we
decided to stick with Q_WS_WIN32, but having a separate define
makes the code more readable. In addition Q_WS_WINCE_WM is available
for Windows Mobile only parts, where we do not check for the OS on
runtime.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
It seems the Xrender PictStandardA1 mask format doesn't work with
XLFD bitmap fonts wrapped in a fontconfig structure.
Task-number: 252328
Reviewed-by: Samuel
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGLWidget does not support partial updates unless the context is
single buffered and auto-fill background is disabled. The problem
was that QPaintEvent::region() returned the requested update region
without taking into account the limitation of QGLWidget. If QGLWidget
doesn't support partial updates, it means everything has to be updated,
and QPaintEvent::region() must return the whole widget rect.
Auto test included.
Task-number: 241785
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
If the user passes QString() on printer name we can still be valid if the
format is pdf/postscript. So test that.
Reviewed-by: Trond Kjernaasen
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
an untransformed painter
When passing a painter to QWidget::render, we use the
painter->paintEngine()->systemClip() as the "system viewport",
i.e. all painting triggered by render() should be limited to
this area. The only way to achieve this is by always ensuring the
system clip is clipped to the same area (systemClip &= systemViewport).
The problem however, was that we only did this for transformed
painters. We must of course always do it when there's a systemViewport
set, regardless of whether the painter is transformed or not.
Auto test included.
Task-number: 248852
Reviewed-by: Trond
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts (version number change in 4.5):
src/corelib/global/qglobal.h
src/qbase.pri
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we have a rect-clip where we actually had spans (used for
cleartype) and then reused that clipdata, we would never re-create the
spans, which would mean that future drawing would be filtered based on
the old clip
Reviewed-by: Samuel
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/global/qfeatures.h
src/gui/painting/qtransform.cpp
util/scripts/make_qfeatures_dot_h
|
| |
| |
| |
| |
| |
| |
| |
| | |
We have code that assumes that m33 = 1 if the type is TxScale. Instead
of changing all that code it's better to just return TxProject as type
when m33 is different from 1.
Reviewed-by: Simon Hausmann
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QPrinter::fullPage() was set, pageRect() returned the same as
paperRect(). Under Windows, there is always a non-printable area that
was not taken into account in the fullPage() case.
Task-number: 248881
Reviewed-by: Kim
|
| |
| |
| |
| |
| | |
Task-number: 250971
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| | |
We need to check if the engine is null before we do the thread test.
Reviewed-by: Thiago
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QPainter inherits some properties from the widget, among other font and
pen. These are set in the painter's state in initFrom(), but in 4.5 we
forgot to call QPaintEngineEx::penChanged() to let an extended paint
engine know that the pen has changed. This caused the raster engine to
believe it could blit non-opaque text, due to the fast_text flag not
being correctly updated.
Task-number: 251534
Reviewed-by: Paul
|
|\ \
| |/
| |
| |
| | |
Conflicts:
tests/auto/qaction/tst_qaction.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
ARGB32_PM, RGB32, ARGB8565_PM and RGB16 are optimizied elsewhere
and they are the most important formats. The implemenentation of several
of these depths are also buggy, so one can question their relevance.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| | |
The "optimized" version of this function was actually slower
by quite a bit, so revert it to the old "trivial" code.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| | |
The blending always happens in 32-bit premultiplied so the conversion
back to dest-format needs to base itself on premlutiplied too.
Task-number: 182246
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was special code for gcc to run super-fast, but it was
buggy and didn't blend properly. Kill this code for the benefit
of the normal blend function. The performance on an Intel Quad Core 2
was not too different from the bytemul approach.
Task-number: 246009
Reviewed-by: Trond
|
| |
| |
| |
| |
| |
| |
| | |
The rounding was just wrong...
Task-number: 246009
Reviewed-by: Trond
|