| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Task-number: QTBUG-13653
Reviewed-by: aavit
|
|
|
|
| |
Reviewed-by: Markus Goetz
|
|
|
|
|
|
|
| |
If transposed was set to 0 we did not check the color depth of the image
and ended up with a buffer overflow.
Reviewed-by: Jens Bache-Wiig
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After change 79eef278228aac21fbf QPixmap::size() started returning
QSize(-1, -1) for null pixmaps. This restores the old behavior of
returning QSize(0, 0), and is symmetric with QImage::size().
Task-number: QT-3934
Reviewed-by: Trond
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: TRUSTME
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: axis
|
| |
| |
| |
| |
| |
| |
| | |
instead of friend use static to avoid gcce saying a formerly extern
declaration turned into a static declaration.
Reviewed-by: axis
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch fixed the issue by tracking pixmaps and destroying native
bitmaps before FBS connection is closed.
Task-number: QTBUG-9112
Reviewed-by: Jason Barron
|
|/
|
|
|
| |
Tasks: QTBUG-13271, QTBUG-13212, QTBUG-12321
Reviewer: David Boddie
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 2c8f9dee611 had an unwelcome side-effect and was reverted.
Since we do have the undocumented behavior that we scan for all possible
extensions when QPixmap is provided with a filename without extensions
we could not simply exit if the file did not exist. We now check if
there are extensions before doing so.
Reviewed-by: gabi
Task-number: QTBUG-11137
|
|
|
|
|
| |
Task-number: QTBUG-12560
Reviewed-by: gabi
|
|
|
|
| |
Reviewed-by: Andreas Kling
|
|
|
|
|
|
|
|
| |
Doing the conversion with Neon is 700% faster.
Help by Thiago Macieira on vacation.
Reviewed-by: Thiago Macieira
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Add the qt_ prefix to convert_rgb888_to_rgb32_ssse3
Update changes-4.7.0
Use the fast conversion from RGB888 to RGB32 for Jpeg images
Move the SIMD defines to the common declaration of Qt symbols
Fixed: QT_DEPRECATED_WARNINGS defines QT3_SUPPORT
|
| |
| |
| |
| |
| |
| |
| | |
Exported function needs to have the qt_ prefix.
Beviewed-by: Olivier Goffart
Reviewed-by: Andreas Kling
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The commit 90642dd2b6b14c39cc6178f1161331895809b342 introduce a fast
way to convert from RGB888 to RGB32 with SSSE3.
This patch uses that function to do the color conversion when decoding
jpeg images.
The #defines for the SIMD extension have been moved to the common code
in order to be able to compile the jpeg handler directly in QtGui or
as a plugin.
Reviewed-by: Andreas Kling
|
|/
|
|
|
|
|
| |
These formats had broken rgbSwapped() implementations:
argb8565, argb6666, rgb555, argb8555, rgb444, argb4444
Reviewed-by: Benjamin Poulain
|
|
|
|
|
| |
Merge-request: 755
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Converting from RGB encoded on 24bits to RGB encoded on 32 bits is
quite inefficient.
This type of conversion is common for some image format.
The patch implement the conversion with SSSE3. This reduce by 3 the
number of instructions, pushing the bottleneck to memory bandwidth.
On Atom N450, the new benchmark is 40% faster for scanlines of
2000 pixels, 30% faster for scanlines of 32 pixels, and 15% slower
for small images (3 and 8px).
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
| |
Instead of converting each color, we create a color table with the
RGB16 colors. The conversion can be done for each pixel directly
with the table.
Reviewed-by: Kim
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
|
| |
Instead of checking if the value is in boundary for each pixel, we
can fill the color table with 256 value and convert the colors directly.
This optimization is an idea of Kim Kalland.
Reviewed-by: Kim
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
| |
When converting indexed images in place, each color was converted to
premultiplied. Instead, we can just convert the color table like it
is done in the non-in-place version.
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QSymbianBitmapDataAccess is used to provide access to the bitmap heap
in a manner that locks correctly on all platform versions. The
heapWasLocked variable was meant to protect against the case where
the heap is locked recursively. However, it failed to take into
account the case where the same QSymbianBitmapDataAccess object was
used to lock recursively. In this case the variable would be changed
to true on the second lock, which means that the lock would never be
released again.
This was fixed by making the access reference counted instead. Since
the bitmap heap lock is global, the refcount was made global as well.
Task: QTBUG-11129
RevBy: Jason Barron
AutoTest: Works again. It was hanging before this fix.
|
|
|
|
| |
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
| |
The commit beba018814b35c4bd032e6b9fa948e4bac34c59a introduce conversion
from ARGB32 to ARGB32_PM with SSE2.
This patch add a benchmark for this type of usage, and change the
name to use lowercase for SSE2 (style convention).
|
|
|
|
|
| |
Including this header in the SSE2 file broke the build because
QImageWriter was not declared.
|
|
|
|
|
| |
Merge-request: 725
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
|
|
|
|
|
| |
This reverts commit d0fb8557f3fc3e7c9305662d118228ceca9df72b.
This change breaks justified text drawing in QPrintPreview, so it's
reverted for now.
|
|
|
|
|
| |
now that they live in gui/image/ instead of plugins/imageformats/, the
handlers need to get the usual _p suffix.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Consolidate zlib configuration redundancy
Fixed whitespace formatting
Fix incomplete support for built-in jpeg, mng, tiff and gif handlers
Split image handler plugin project files
No explicit link to zlib/jpeg for system mng/tiff
Removed stray line continuations
Long live else!
qdoc: Added a solution for creating tables of contents for manuals.
Doc: Fixed markup.
Fixed size hint for combo box on windows
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, although the configure shell script could configure
built-in support for these image formats, the .pr[io] files
would nevertheless build them as plugins. Support was also
missing from qimagereader and qimagewriter. This has now been
added.
Configure.exe, while clearly intended to support this too,
needed a few minor fixes. For example, the usage of values
"qt" and "yes" was inconsistent.
For both configure tools, the explanation of the *non*-related
options has been clarified, i.e:
-no-libjpeg
-qt-libjpeg
-system-libjpeg
These options have nothing to do with the plugin/built-in
distinction.
There are (still) no configure options for specifying "plugin" or
"built-in" for these image formats. Quite reasonably, "plugin"
is selected for shared Qt and "built-in" is selected for static Qt.
Merge-request: 715
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One pri for each handler, e.g. src/gui/image/qjpeghandler.pri.
One pri for each 3rd party package, e.g src/3rdparty/libjpeg.pri.
One shared pri for zlib dependency of 3rd party packages.
This was really about image handler plugins, but PNG got the
same treatment for consistency's sake.
Also, moved image handler source files from plugins to src/gui/image
so they are with the other image handlers.
Merge-request: 715
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
| |
| |
| |
| |
| | |
Merge-request: 715
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
| |
| |
| |
| |
| | |
Merge-request: 715
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts fixed:
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (39 commits)
Use built-in iconv on Solaris if available
Export various symbols needed to make a custom GL graphicssystem.
Moc: fix compilation when templated types with multiple arguments are used.
Fixes the documentation of QGraphicsEffect::update().
support BGRA textures on SGX
Avoid calling time.elapsed() twice in abstract animation
Adds slowdownFactor to UnifiedTimer in abstract animation
Add the conversion in-place for QPixmap::fromImageReader() on raster.
Add QPixmap::fromImageReader() to decode arbitrary images in place.
Add missing license header.
Added textureUpload benchmark to the GL benchmarks
Fixed a crash in menubar with invisible actions
Fixed ARM .def files.
Doc: QSettings::sync() imports changes made by other processes.
Made -graphicssystem trace work with Qt::TextBypassShaping flag.
Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0
Add a manual test for regular widget interaction with the table.
New variant of ::createPixmapData with origin for QGraphicsSystem.
EGL plane levels are the same as all other GL backends.
Need to access extensionFuncs in subclasses too.
...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since raster uses QImage internal, QPixmap::fromImageReader() can use
conversion in-place of the image. This avoid a memory peak during the
conversion and is a bit faster.
Reviewed-by: Samuel Rødal
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Decoding in-place with QPixmap::fromData() has limitations, it cannot
be used with animated gif images, and the user has no control over the
parameters of the image reader.
Reader the image directly from the image reader allow us to do a better
job when loading images.
Reviewed-by: Simon Hausmann
Reviewed-by: Samuel Rødal
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added color table bounds checks when converting a color indexed
image to a different pixel format. Fixed an off-by-one error in
the color table bounds check in QImage::setPixel(). Fixed an
autotest that was setting pixel values out of bounds.
Reviewed-by: Gunnar
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's expected that copy actually does a deep copy of the image data.
Because QRasterPixmapData::fromImage() will just use the source image as
is in this case we need to do a deep copy of the QImage.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The alpha channel we get from XGetImage might not be saturated for
opaque pixmaps.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prevented downloading of the whole XImage by introducing new
QPixmapData::toImage() overload taking a sub-rect. Also avoid an
additional copy by simply taking ownership of the XImage data when
the XImage format matches the QImage format.
Reviewed-by: Trond
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avkon dependencies can be configured out with the -no-s60 configure
flag, conversely Qt on Symbian will use Avkon if -s60 is configured.
These changes are intended to keep or introduce binary compatibility
between the s60 and no-s60 configurations. To do this, it has been
necessary to introduce stub equivalents of the CAknAppUi related
classes into the no-s60 configuration, and override all Avkon framework
virtual functions in the QS60Main... classes.
Other than that, these changes are mostly just correcting the use of
the Q_WS_S60 flag so that it only refers to Avkon dependencies.
Reviewed-by: Sami Merila
|
|/
|
|
|
|
|
|
| |
Mostly indentation affected, but also standardized spaces
adjacent to () in configureapp.cpp.
Merge-request: 715
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, with the graphics system raster, converting from images
to QPixmap often needs to allocate a new image to convert the right
format.
For example, for an image in ARGB32 of 10 mbytes, we need to allocate
a second image of 10 mbytes in ARGB32_PM to convert the source image
in the right format for pixmap.
This can create a hight peak of memory, and is a bit slower
than it should.
This patch introduce in-place conversion of images when they are
loaded with QPixmap::loadFromData().
The images are loaded in their default format by QImageReader,
and are then converted in-place, trying to reduce memory
allocations.
Reviewed-by: Samuel Rødal
|
|
|
|
|
|
|
|
| |
If the pixmap is non-opaque in the first place most likely a reasonably
sized sub-rect is also non-opaque, so this check is a waste in 90 % of
the cases.
Reviewed-by: Gunnar Sletta
|