| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On every beginDataAccess on the pixmap data, we checked the value of
the pointer to the bits and only updated the image if the pointer had
changed. However, we didn't take into account that the pointer could
be the same, even though the dimensions were different, since
malloc() could return the same memory area. This would lead to
painting into an image that had the wrong dimensions, which again led
to either crashes or image shearing. Fixed by checking the dimensions
before deciding to update the image.
Task: QTBUG-4815
RevBy: Jason Barron
|
| |
| |
| |
| |
| |
| |
| | |
EColor16M is in BGR format so after conversion to QImage RGB
values needs to be swapped.
Reviewed-by: jbarron
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Use ExpandToTransparentBorderPadMode since we can use GL_CLAMP_TO_EDGE
to clamp to the texture.
* Shrink the bounding rects reported by the blur
and drop shadow filters (expanding by 2 * radius isn't needed).
* Use a single-pass blur for radii <= 3 to avoid the overhead of
rendering to an FBO.
* Made the fast blur setting generate filters for only a predefined set
of radii, and then use the actual blur radius to spread the sample
points outwards.
* Optimized the generated program to rely less on temporary variables,
as those seemed to not be handled very well by certain GLSL compilers.
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Modern graphics drivers tend to disable shared memory pixmaps,
since rendering operations often can't be accelerated by the
GPU when the pixmap data is pinned in system RAM.
Use XShmPutImage() to flush the window surface when this is case,
instead of falling back to the slower XPutImage() method.
Merge-request: 1684
Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
Task-number: 262636
Reviewed-by: gunnar
|
|/
|
|
|
|
|
| |
There's no reason to lock ourselves to int in the API when some of the
backend could handle floating point blur radii.
Reviewed-by: Bjørn Erik Nilsen
|
| |
|
|\ |
|
| | |
|
|\ \
| |/
|/|
| |
| | |
Conflicts:
src/gui/painting/qtextureglyphcache.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Gives better performance in the raster paint engine.
For Symbian 9.3 onwards, this can also be used as the native pixmap
format. For 9.2, conversion is required.
Reviewed-by: Sami Merila
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| |
| |
| | |
QCache destruction accesses the key array that was freed in the QPixmapCache destruction, so better clear() before deleting that key.
Merge-request: 1820
Reviewed-by: Alexis Menard <alexis.menard@nokia.com>
|
| |
| |
| |
| | |
Reviewed-By: TrustMe
|
| |
| |
| |
| |
| | |
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while
using the -graphicssystem opengl
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before the QExplicitlySharedDataPointer change, the ref-count was 0 when
calling the cleanup hooks from ~QPixmap. That enabled the hook to figure
out if the pixmap is being modified or deleted. As the ref count is now
1 when calling the cleanup hooks in ~QPixmap, we need to seperate the
hooks.
This change should make using textre-from-pixmap faster as the EGL/glX
surface wont get re-created everytime the pixmap is modified.
Reviewed-By: Gunnar
|
|/
|
|
|
|
|
|
|
|
| |
If the pixmap is sharing data with other pixmaps, it must be detached
before it is filled. Instead of detaching by making a copy, create a
new uninitialized data object since all pixels are overwritten by
fill() anyway.
Task-number: QTBUG-3228
Reviewed-by: Trond
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
determined.
This restores the behavior from before the the gui plugin merge.
Reviewed-by: Olivier Goffart
|
| |
| |
| |
| |
| |
| | |
Make sure that we at least try to load an icon via the "hicolor" theme.
Reviewed-by: Olivier Goffart
|
| |
| |
| |
| |
| |
| |
| | |
The previous commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5
included some changes which were not meant to be pushed.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| | |
Accidentally used git commit -a when should have used only git commit :(
This reverts commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5.
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed QPainter::begin() so that if it fails, it can still be used on
other paint devices without causing an assert. Autotest included.
I also made begin() fail on images with the QImage::Format_Indexed8
format and added warnings in the documentation since painting on such
images is not supported.
Reviewed-by: Trond
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| | |
Similar to the existing qt_toX11Pixmap, this lets us explicitly create
pixmaps with the raster pixmap backend.
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| |
| |
| | |
QPixmap::copy() now returns a pixmap with the same pixmap backend.
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| | |
Reviewed-by: Trond
|
|/
|
|
|
|
|
|
|
|
|
| |
Calling QPixmap::fill() on a pixmap may in some cases cause the
painter's paint engine pointer to become stale. A subsequent call to
the painter would therefore crash. Now, QPixmap::fill() will print a
warning and return in those cases. I also added a warning in the
documentation of QPixmap::fill().
Task-number: QTBUG-2832
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
| |
The reason for scrolling bug was that CFbsBitmapDevice wasn't
informed if CFbsBitmap was resized. However, it seems that
scroll implementation in QRasterPixmapData is faster that
CFbsBitGc->CopyRect so this is also a patch which changes
QS60PixmapData's scroll function to call QRasterPixmapData::scroll().
Reviewed-by: Janne Koskinen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a backend for QFileIconProvider in the platform plugin
Also change the QIcon::fromTheme backend in the platform plugin:
On KDE, we unfortunately can't use KIcon as backend, as the current
API doesn't let us know easily (and quickly) wether we should use
the fallback or not (KDE always fallback to the question mark
"unknown" icon)
So we will use the QIconLoader even on KDE.
But we need to make sure that the theme name and the icon search paths
are correct. Ask that to the platform plugin
Reviewed-by: Jens Bache-Wiig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an internal interface for plugins that can be provided by
the platform to give platform-specific features by platforms built on
top of Qt.
We can easlily integrate Qt on Windows, Mac, Gnome, ... without any
plugin because we can link to their respective library (dynamically
if we don't want to depend on it). On Gnome, we can dynamically
resolve Gtk+ symbols.
This is however not possible for KDE or other platform built on top
of Qt: we can't link against their library because they depend on us
and we can't dynamically resolve the symbols because they are
mangled (C++)
So this plugin provides hooks inside Qt to be able to do things
like native File or Color dialog, native icons, accurate reading of
the config file, and so on.
This is currently private API.
Task-number: QT-406
Reviewed-by: Jens Bache-Wiig
Reviewed-by: Oswald Buddenhagen
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases the QImage, returned by QS60PixmapData::toImage()
image an invalid pointer. That led to reproducable crashes on 3.1
Device and Emulator when starting a drag in the FridgeMagnets
demo. Jani Hautakangas created this fix and I tested it on
3.1 Device and Emulator confirming that the crash is gone.
Rev-By: Jani Hautakangas
Rev-By: Alessandro Portale
|
|
|
|
| |
Reviewed-by: Gunnar
|
|
|
|
| |
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
|
|
|
| |
It wasn't possible for the paint engine to override the drop
shadow filter because QPixmapDropShadowFilter::draw() was not
asking for an engine-specific filter object.
Also, change the OpenVG filter to use vgGaussianBlur() instead of
vgConvolve(), and draw the original image on top of the shadow.
Task-number: QTBUG-4583
Reviewed-by: trustme
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The intermediate sourceImage was stored to wrong QImage object
(image instead of correct sourceImage). This made subsequent switch-case
statement to fail because destFormat was set to QImage::Format_Invalid
Autotest: Fixes QItemDelegate::decoration autotest
Reviewed-by: Jani Hautakangas
|
| |
| |
| |
| |
| | |
This is needed to implement render-to-pixmap on x11/EGL, which will also
need to create an EGL surface for pixmaps.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need a way to control various rendering operations. For example,
whether quality is more important than performance, or the other way
around.
This change also replaces occurences of QPixmapFilter/QGraphicsEffect::BlurHint
(introduced in 1a431e850893b6b162c833f4f148f090e2427dda) with Qt::RenderHint.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a bug in QPixmapCache when QCache trims the content, some keys
were not invalidated. The ifdef for WinCE (that i removed) was a wrong
fix, it let the auto-test pass but it doesn't fix the bug. The approach
here is to add a QPixmapCacheEntry that release the key it owns when
QCache deletes it : we are now sure that nothing happen in our back.
Reviewed-by:paul
Reviewed-by:trond
|
| |
| |
| |
| | |
Reviewed-by: Eskil
|
|/
|
|
| |
Reviewed-by: Samuel
|
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|