| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace Nokia contact email address with Qt Project website.
- Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QVGPaintEngine::drawImage(const QPointF &pos, const QImage &image) uses
vgWritePixels if possible, and when the QImage is loaded from some file
types, its lines are inverted, stored from bottom to top in memory.
For inverted images, the image data pointer passed to vgWritePixels
should be pointing at the start of the last line. However drawImage was
actually passing a pointer to after the last line. This has undefined
results, but in practice you either get the image contents drawn one
line too high with the top line missing and and extra garbage bottom
line, or you can also get a crash if beyond the last line is not
readable memory.
Fixed by correcting the pointer passed to vgWritePixels to point to
the start of the last line for inverted images.
Task-number: ou1cimx1#996894
Change-Id: I1cf5b976acc18adceec1e14633f8779441faa056
Reviewed-by: Jani Hautakangas <jani.hautakangas@nokia.com>
Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Qt drawing system is not designed to handle failures in beginPaint
and endPaint. But the Symbian port is creating EGL contexts and surfaces
on demand in these functions. These can fail, eg in the defect reported
the app gets a visibile=true event for such a short period that it
fails to create the surface before it is invisible again. These failures
have to be coped with.
Brush image drawing is failing if the app is asked to draw
while in the background, because the EGL surface cannot be created.
After this, if the app comes to the foreground at the wrong time, the
failed drawing is shown on the screen as a flat colored area.
A failedToAlloc variable in the openvg paint engine was locking in this
failed drawing, so that it would never redraw. This is fixed by removing
all use of that variable.
Failed surface creation during a draw in response to a visibility
change event was also leaving the window backing store with bad content.
This is now cleared on a surface creation failure so that drawing
is retried when the next visibility change event arrives.
The retry mechanism for creating a surface on failure also
makes the problem circumstances more likely to occur and can block the
app unnecessarily. Now, instead of blocking for 1 second every time on
failed surface creation, it only blocks on the first failure in a
sequence thereby allowing other parts of the app to run freely while
it is in the background.
Task-number: ou1cimx1#951921
Change-Id: I1e27746957ff624b0d9a1cdc9b319d0a3477135d
Reviewed-by: Gareth Stockwell <gareth.stockwell@accenture.com>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Simple search and replace. This commit doesn't touch 3rd-party files,
nor translations (where the change is not so simple and will be handled
in a separate commit).
Change-Id: I4e48513b8078a44a8cd272326685b25338890148
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8752faf0564bed86396b01529dc8ef5064150f4c.
Also Revert "Fix def files"
This reverts commit d2a3b9ee8c9329cac96b5e509df0e6a69dbef91c.
This was found to cause a crash in QMLGallery app.
It is not necessary to delete these resource pools at app
exit, as the OS should automatically release the resources
at this point.
Reviewed-by: Jani Hautakangas
|
|
|
|
|
| |
Task-number: QTBUG-22743
Reviewed-by: Murray Read
|
|
|
|
|
|
|
| |
Changes needed to reflect the updates in the QWindowSurface.
Merge-request: 1309
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|\
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the creation of the EGL window surface failed, the paint engine
was not destroyed in the openvg module's window surface implementation.
This led to accessing an obsolete engine instance later on in
QSymbianControl::Draw, leading to a crash. Now a new, proper engine
will be created, naturally the painting will still fail, but the
application will not crash.
Task-number: QTBUG-20339
Reviewed-by: Jani Hautakangas
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gui/image/qpixmap_raster_symbian.cpp
src/gui/image/qpixmapdatafactory.cpp
src/gui/painting/qgraphicssystem.cpp
src/gui/styles/qs60style.cpp
src/network/bearer/qnetworkconfigmanager_p.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/bwins/QtOpenGLu.def
src/s60installs/bwins/QtOpenVGu.def
src/s60installs/eabi/QtGuiu.def
src/s60installs/eabi/QtOpenVGu.def
tests/auto/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-19821
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When drawing such pixmaps (used by both the openvg and opengl graphics
systems) onto another pixmap or to a QImage, the performance was
sub-optimal due to missing and accidentally disabled support
specific to QVolatileImage. This is now fixed and drawing pixmaps into
a QImage is also made optimal by using the QS60PaintEngine for
QImage too. This will cause a 5-7x (or even up to 12x on certain
hardware and platform) increase in offscreen pixmap drawing
performance.
Task-number: QTBUG-19880
Reviewed-by: Jani Hautakangas
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/qgl.cpp
src/opengl/qpixmapdata_symbiangl.cpp
src/opengl/qwindowsurface_gl.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove ugly TemporarilyCachedBindOption and use QGLTexture
objects as texture pool entries instead of QGLPixmapData.
Make texture pooling totally Symbian specific, remove
VG like texture pooling code and use common texture binding
path which is used on other platforms also on Symbian.
QGLPixmapData should be only used to bind SgImage based
textures (will be implemented by another commit).
Task-number: QTBUG-19180
Reviewed-by: Samuel Rødal
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/platforms/wayland/qwaylandclipboard.cpp
src/plugins/platforms/wayland/qwaylandclipboard.h
src/plugins/platforms/wayland/qwaylanddisplay.cpp
src/s60installs/eabi/QtOpenGLu.def
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. Changed externs to Q_GUI_EXPORTs
2. ABSENTed missing exports from openGL's DEF-file
Reviewed-by: Tomi Vihria
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
|/ /
| |
| |
| |
| |
| |
| | |
1. Changed externs to Q_GUI_EXPORTs
2. ABSENTed missing exports from openGL's DEF-file
Reviewed-by: Tomi Vihria
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: TRUSTME
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Flushing native child widgets in VG and GL window
surfaces caused performance downgrade because unnecessary
swapBuffers calls. On Symbian we must not support flushing
native child widgets in VG and GL window surfaces because
it causes GPU memory overhead and performance issues. Symbian
graphics architecture allows us to render native child widgets
to TLW EGL surface correctly in most of the cases.
Task-number: QTMOBILITY-1570
Reviewed-by: Samuel Rødal
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a painter is open on a pixmap's underlying QVolatileImage, it is
better to upload the VGImage content every time the pixmap is drawn
on the screen, in order to enable showing animations that are created
by continously rendering into the same pixmap and keeping the same
painter open.
Task-number: QT-4002
Reviewed-by: Jason Barron
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The OpenVG engine correctly uses vgClear() to fill the surface with
transparent pixels whenever the window has the WA_TranslucentBackground
attribute enabled. However both scissoring and masking affects
the operation of vgClear(). Drawing artifacts were previously
visible due this, simply because scissoring was left enabled by
the VG paint engine, and the filling with transparent pixels
happens in the window surface's beginPaint() that is called
between the paint engine's end() (for the previous paint) and
begin() (for the next paint).
Task-number: QT-4907
Reviewed-by: Jani Hautakangas
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: (31 commits)
Make QtQuick2 compile on QPA
Use maximum ascent/descent/leading from fallback fonts in shaping
Another ugly hack to make bidi cursor work with Core Text
Make sure layoutData exist before checking for string direction
Removed warning from QPixmap::handle().
Take leading space width into account for painting and selection
doc: Simplify language in QGlyphs docs
doc: Minor cleanup in QGlyphs docs
Remove extra comma at the end of enum list
Fix compilation with Qt3Support
Don't transform glyph positions for Core Graphics paint engine
Skip linearGradientSymmetry test on QWS.
Turn on HarfBuzz support for Mac/Cocoa
Support visual cursor movement for BIDI text
Disable tst_QPixmap::onlyNullPixmapsOutsideGuiThread on Mac
Revert "Switch the default graphics system to raster on Mac."
Fix an race condition in the auto test.
Made linearGradientSymmetry test pass on qreal=float platforms.
Make sure #ifdef'd tests still have main() function
Long live QRawFont!
...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The extended radial gradients conform to the radial gradient
specification in HTML 5 canvas.
Task-number: QTBUG-14075
Reviewed-by: Andreas Kling
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unlike OpenGL, the EGL_SWAP_BEHAVIOR_PRESERVED_BIT was not set for
the EGL configuration used with OpenVG. Yet the preserved swap was
enabled still, which, according to the EGL spec, should fail. To
make sure it still works with other EGL implementations, the bit
is now set in the configuration.
Reviewed-by: Jani Hautakangas
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| |
| |
| | |
Conflicts:
qmake/generators/makefile.cpp
qmake/generators/win32/msbuild_objectmodel.cpp
qmake/generators/win32/msvc_vcxproj.cpp
src/corelib/global/qnamespace.h
src/gui/text/qtextcontrol.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OpenVG paint engine tries to use vgWritePixels shortcut
whenever possible to optimize rendering performance. The
check 'canVgWritePixels' failed to map formats correctly
and resulted to incorrect return value.
Task-number: QTBUG-18682
Reviewed-by: Jason Barron
|
| |
| |
| |
| | |
Reviewed-by: Samuel Rødal
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (237 commits)
Fix animation tests after merge
Remove duplicated test.
Add missing test file.
Changing width of RTL positioner doesn't relayout
Fix TextInput auto test failure on mac.
PinchArea and Flickable don't work well enough together
Do not set focus unnecessarily at window activation in Symbian
QS60Style: Regression in drawing dialog background
QS60Style: Support menu separator (pt.2)
Fix auto test failure.
Support for new softkey in Symbian^3
Once Image sourceSize is set there is no way to clear it.
Rotation transform with NaN angle can cause crash
QSoftkeyManager auto test update
Fixed not switching to MeeGo graphicssystem.
Canceling image download while reading causes crash
Fix width of TextInput micro focus rectangle.
Return correct boundaries reasons from QTextBoundaryFinder.
GridView jumps to beginning of list when resized
Fixed rounding of coordinates pre-transformation in CG paintengine.
...
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/src/declarative/example-slideswitch.qdoc
doc/src/development/qmake-manual.qdoc
doc/src/snippets/code/doc_src_qmake-manual.pro
doc/src/snippets/code/doc_src_qtscript.qdoc
src/corelib/animation/qabstractanimation.cpp
src/s60installs/bwins/QtOpenGLu.def
src/s60installs/eabi/QtOpenGLu.def
src/s60installs/eabi/QtOpenVGu.def
tests/auto/qdir/qdir.pro
tests/auto/qsslsocket/tst_qsslsocket.cpp
tools/qdoc3/doc/qdoc-manual.qdocconf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The special case of creating a pixmap from RSgImage via a native
handle provider needs extra attention when hibernating: In this case
the hibernating happens as usual, however doing a readback would
produce unwanted results and must be avoided.
Reviewed-by: Jani Hautakangas
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Now that we've added hasPreservedContents() it's cleaner to convert the
various features to feature flags, which is also more extensible in case
more flags are needed in the future.
Reviewed-by: Bjørn Erik Nilsen
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/opengl/qwindowsurface_gl.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The vgWritePixel-based "fallback" in drawImage can only be used when
the transformation is simple and no opacity is set. The tiled drawing
introduced here will serve as an additional fallback for the more
complex cases and will allow drawing large (12 Mpix or more) pixmaps
and images with transformation and semi-transparency even when the
complete image data would not fit into the GPU memory.
Task-number: QTBUG-18251
Reviewed-by: Jani Hautakangas
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QVGPaintEngine did not have proper checks for null QImage in the
drawImage functions so it went on trying to create a VGImage of
size 0x0 which is bound to fail always. This resulted in confusing
warnings about not being able to reclaim space for 0x0 images.
Reviewed-by: Jani Hautakangas
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/declarative/positioners/layoutdirection/layoutdirection.qml
src/corelib/global/qglobal.h
src/plugins/qpluginbase.pri
src/qbase.pri
src/s60installs/bwins/QtOpenGLu.def
src/s60installs/eabi/QtOpenGLu.def
tests/auto/selftests/expected_cmptest.txt
tests/auto/selftests/expected_crashes_3.txt
tests/auto/selftests/expected_longstring.txt
tests/auto/selftests/expected_maxwarnings.txt
tests/auto/selftests/expected_skip.txt
tools/assistant/tools/assistant/doc/assistant.qdocconf
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qdeclarative.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Forcing VG (and GL) pixmapdata to support toNativeType() with type
VolatileImage is unnecessary. It is cleaner to try doing a
fromNativeType() with bitmap+mask and fall back if that results in
a null pixmapdata.
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| | |
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QRuntimeGraphicsSystem is asked for its support for static contents
of partial updates it should return the value for the currently running
wrapped graphicssystem. As the getters have not been virtual so far this
could not be implemented.
Additionally the setters have been removed as these values are not
supposed to be set from the outside. Only the graphicssystems itself
knows what it supports. If the default values should be changed the
methods should be overwritten.
Merge-request: 1136
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
mkspecs/common/symbian/symbian.conf
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OpenVG paint engine didn't reset it's
mask fallback state correctly when engine
was resetted.
Task-number: QTBUG-17966
Reviewed-by: Jason Barron
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Inverting the pixels for bitmaps of mode EGray2 is done in-place,
which is wrong if the bitmap handle was duplicated. Instead, we
need to make a copy. This also means that we cannot treat EGray2
a conversion-less format in openvg, but such images are likely
to be used as masks only, so optimizing just for mere drawing
in case of this format is not really necessary.
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From now on the image data coming from CFbsBitmap will not be forced
to RGB32 or ARGB32_Premultiplied in openvg. This allows copy-less
creation and drawing of pixmaps not just from bitmaps with display mode
EColor16MAP and EColor16MU, but also a few other modes, like EColor64K.
Painting into such pixmaps or drawing them via the raster engine is
potentially slower in such cases, which is now reflected in the
fromSymbianCFbsBitmap documentation.
Note that this patch has no effect on extended bitmaps (e.g. skin
graphics), those must always be rasterized first regardless of the
display mode.
Task-number: QTBUG-18027
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QNativeImageHandleProvider is a thin interface consisting of get()
and release() functions. Pixmaps constructed with such a provider
will call these functions to acquire and release a native handle,
e.g. a CFbsBitmap or RSgImage pointer in case of Symbian. The behavior
is largely similar to constructing pixmaps via fromSymbianCFbsBitmap
or fromSymbianRSgImage, with the exception of pixmap hibernation:
release() (and subsequently get()) is guaranteed to be called also
in case of hibernation, allowing more fine-grained tracking of
the usage and lifetime of image data.
Task-number: QT-4632
Reviewed-by: Jani Hautakangas
|