summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-297-183/+224
|\
| * Remove superfluous call to base classAnders Bakken2009-04-291-2/+2
| | | | | | | | | | | | | | | | Make code more readable by not chaining to QScreenCursor for hide/show. Since hwaccel is true we don't need the exposeRegion call anyway. Reviewed-by: TrustMe
| * Cleaned up mouse/cursor codeAnders Bakken2009-04-293-33/+28
| | | | | | | | | | | | | | | | | | The enabling/disabling of the Cursor belongs in the QDirectFBMouseHandler class and not in the QDirectFBScreenCursor. Even if we use the Qt software cursor we need the events to come in from the mouse handler. Reviewed-by: TrustMe
| * Fixed cursors with QT_NO_DIRECTFB_PREALLOCATEDAnders Bakken2009-04-291-75/+75
| | | | | | | | | | | | | | | | | | | | Refactor cursor management code to do. No need to change the cooperative level four times for each show/hide. Simplify code a little. Also we used to disable the cursor when we wanted to hide it which meant that we no longer received mouse events. Reviewed-by: Donald <qt-info@nokia.com>
| * Fold boolean options into flagsAnders Bakken2009-04-284-20/+21
| | | | | | | | | | | | | | Instead of having multiple bool QDirectFBScreen::.* getters I added DirectFBFlags QDirectFBScreen::directFBFlags() function. Reviewed-by: TrustMe
| * Added an option for ignoring the system clipAnders Bakken2009-04-283-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | This is currently the only way I can make QGraphicsView not have to fall back to the raster engine for all operations. It seems the QRegion passed to the paintEvent of QGraphicsView also is set as the systemClip which in the end makes the QRasterPaintEngine's clipRegion equal the systemClip. By exporting QWS_DISPLAY=directfb:ignoresystemclip you can now draw without having a complex clip and therefore take advantage of hw acceleration with DirectFB. Reviewed-By: Donald <qt-info@nokia.com>
| * Make the disable/warn on fallbacks more flexibleAnders Bakken2009-04-282-52/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow programmers to select which operations they want to warn on/disable and which not to. To warn for DRAW_PIXMAP only you can do this: DEFINES += QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=DRAW_PIXMAP To include fillRect you can do: DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=DRAW_PIXMAP|FILL_RECT\" Reviewed-by: Donald <qt-info@nokia.com>
| * Cleaned up constness errorsAnders Bakken2009-04-281-14/+16
| | | | | | | | | | | | | | | | | | | | All these drawing functions really shouldn't be const even if some of them can be. They should never be called from const functions and when/if they change pen/brush stuff they cease being able to be const. Also make sure fillRegion() uses the right brush. Reviewed-by: Donald <qt-info@nokia.com>
* | Merge branch '4.5'Rhys Weatherley2009-04-282-22/+48
|\ \ | |/
| * Use PVR2DGetFrameBuffer to map screen 0Rhys Weatherley2009-04-282-22/+48
| | | | | | | | | | | | | | | | | | Some PowerVR chipsets are unstable if mmap/PVR2DMemWrap is used to map screen 0 instead of using PVR2DGetFrameBuffer. This change makes the driver use PVR2DGetFrameBuffer for screen 0 and mmap/PVR2DMemWrap for all other screens. Reviewed-by: Julian de Bhal
* | Merge branch '4.5'Thiago Macieira2009-04-245-37/+112
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | 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
| * Change Qt version number to 4.5.2Thiago Macieira2009-04-241-1/+1
| | | | | | | | Reviewed-By: TrustMe
| * Fix a caching problem in QSvgIconEngine.Trond Kjernåsen2009-04-241-6/+6
| | | | | | | | | | | | | | | | | | The QIcon::pixmap() call would always load and validate any svg file that was used for a QIcon, even though there was a cached pixmap for that particular size. Task-number: 248848 Reviewed-by: Kim
| * Remove the simpleBrush conceptAnders Bakken2009-04-242-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | Since we have to update the brush for each paint command anyway keeping the state of the brush and caching the value of simpleBrush makes no sense. Also, most times when filling with a brush QPaintEngineEx::fillRect(const QRect &, const QBrush &) is called in which we never got a brushChanged() anyway. Reviewed-by: Donald <qt-info@nokia.com>
| * Remove the simpleBrush conceptAnders Bakken2009-04-232-29/+20
| | | | | | | | | | | | | | | | | | | | | | | | Since we have to update the brush for each paint command anyway keeping the state of the brush and caching the value of simpleBrush makes no sense. Also, most times when filling with a brush QPaintEngineEx::fillRect(const QRect &, const QBrush &) is called in which we never got a brushChanged() anyway. Reviewed-by: Donald <qt-info@nokia.com>
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-235-76/+184
|\ \ | |/ | | | | | | | | | | Conflicts: src/corelib/global/qfeatures.h src/gui/painting/qtransform.cpp util/scripts/make_qfeatures_dot_h
| * Convert bitmaps to alpha pixmap formatAnders Bakken2009-04-221-2/+2
| | | | | | | | | | | | | | | | Ideally we'd let raster pixmap data handle this but QPixmap::fromImage creates a QPixmapData::PixmapType regardless of the bit depth of the image so we have to handle this case. Reviewed-by: Donald <qt-info@nokia.com>
| * CompileAnders Bakken2009-04-221-2/+2
| | | | | | | | Reviewed-by: TrustMe
| * Kill some warningsAnders Bakken2009-04-222-3/+5
| | | | | | | | | | | | | | Refactor two small things so that we don't get warnings when QT_DIRECTFB_NO_(OPAQUEDETECTION|MOUSE|KEYBOARD) is defined Reviewed-by: Shane McLaughlin <Shane.McLaughlin@trolltech.com>
| * Unify IDirectFBSurface->Lock() callsAnders Bakken2009-04-224-46/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain compilers warns on this kind of code: uchar *mem = ...; (void**)(&mem) dereferencing type punned pointer etc. Since we had this for every call to Lock I put it all into a convenience function. Also fix some issues where we memcpy'ed more bytes than necessary (when stride != w * depth() / 8) and fix issue with QDirectFBScreen::solidFill with pixelFormat == RGB32 Reviewed-by: Donald <qt-info@nokia.com>
| * Take out STATIC_ALLOC of primary surface creationAnders Bakken2009-04-221-7/+7
| | | | | | | | | | | | | | We never resize this surface anyway so it's not necessary. Make it possible to enable with an option. Reviewed-by: Donald <qt-info@nokia.com>
| * Fix some keyboard issuesAnders Bakken2009-04-211-18/+112
| | | | | | | | | | | | | | | | Without this patch Alt-modifiers doesn't work. The extra mappings are needed for certain keys to work right on atleast one known DirectFB implementation/hardware combination. Reviewed-by: Donald <qt-info@nokia.com>
* | Improve the icon parsing for files with a slightly wrong BMP header.Jan-Arve Sæther2009-04-221-32/+28
| | | | | | | | | | | | | | | | | | | | | | The reason it failed was that we always expected the height property of the BMP header to be double the height of the icon. The kde_favicon.ico did not fulfill this requirement. We can fix that by simply reading from the ICONDIR entry instead, since that has always the correct height. Task-number: 229829 Reviewed-by: alexis
* | Make sure we use a premultiplied alpha format for 32 bit EGL screens.Trond Kjernåsen2009-04-201-1/+1
| | | | | | | | Reviewed-by: Gunnar
* | Clean up white space.Jan-Arve Sæther2009-04-201-165/+160
| |
* | Merge commit 'origin/4.5'Olivier Goffart2009-04-157-300/+333
|\ \ | |/ | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
| * Beautify displayArgs parsingAnders Bakken2009-04-091-12/+18
| | | | | | | | | | | | | | | | Also add support for setting the width and height of the primary surface using display arguments (which can be good when debugging performace issues). Reviewed-by: Donald <qt-info@nokia.com>
| * Take out the DSCAPS_TRIPLE when not blittingAnders Bakken2009-04-091-7/+0
| | | | | | | | | | | | | | | | | | | | When this code was written there was never a case when we would not blit our flips and hence the entire if (!(flipFlags & DSFLIP_BLIT)) business seems not to have been tested anyway. Since I don't see the point of this I am taking it out. Might enable us to actually create the primary surface in video memory more often. Reviewed-by: TrustMe
| * Better warnings when primary is not in videomemAnders Bakken2009-04-091-3/+5
| | | | | | | | | | | | | | If connect options are set to include videoonly and creating the primary surface in video memory fails warn even in release mode. Reviewed-by: TrustMe
| * Clean up code a little and get rid extra memcpysAnders Bakken2009-04-091-48/+3
| | | | | | | | | | | | | | | | | | The QVarLengthArray approach makes no sense with DirectFB. Draw.*s is a regular function call and the receiving function even memcpy's the data on arrival anyway. Just call the Draw.* functions one by one Reviewed-by: TrustMe
| * Fix setOpacityAnders Bakken2009-04-091-6/+8
| | | | | | | | | | | | | | | | Opacity doesn't play well with PorterDuff so we need to disable the porter duff when opacity is set. Also the DSBLIT_SRC_PREMULTCOLOR flag is not the right thing for us. Reviewed-by: TrustMe
| * Inline hasAlphaChannel and add pixelFormat getterAnders Bakken2009-04-092-7/+2
| | | | | | | | Reviewed-by: TrustMe
| * Make sure to update the member opacity variableAnders Bakken2009-04-091-1/+2
| | | | | | | | Reviewed-by: TrustMe
| * Be smarter about alpha formatsAnders Bakken2009-04-093-32/+133
| | | | | | | | | | | | | | | | | | Try harder to prevent blends by explicitly checking for alpha pixels in the source image (unless asked not to). Can be defined out by #defining QT_NO_DIRECTFB_OPAQUE_DETECTION Reviewed-by: Donald <qt-info@nokia.com>
| * Make flipping and paintOnScreen work betterAnders Bakken2009-04-091-12/+14
| | | | | | | | | | | | | | Make the paintOnScreen case paint directly on the primary surface if the size of the window surface == size of primary surface. Reviewed-by: Donald <qt-info@nokia.com>
| * Diagnostic info when failing to create surfaceAnders Bakken2009-04-081-0/+10
| | | | | | | | | | | | | | Only enabled in debug builds since it could something that should be ignored. Reviewed-by: Donald <qt-info@nokia.com>
| * Fix up drawing/blitting/porterduff situationAnders Bakken2009-04-081-135/+77
| | | | | | | | | | | | | | | | | | | | This was rather broken previously. For example, porterduff mode does not play well with alpha values and blends. Also, setting the flags to the existing value is a noop in DirectFB (checked the code) so bool dirty approach buys us nothing. Reviewed-by: Donald <qt-info@nokia.com>
| * Don't convert unsupported images for dfbAnders Bakken2009-04-081-9/+4
| | | | | | | | | | | | | | Fall back to raster engine for formats not supported by dfb rather than converting the image to a supported format. Reviewed-by: Donald <qt-info@nokia.com>
| * Work around RGB32 issue in solidFillAnders Bakken2009-04-071-15/+22
| | | | | | | | | | | | | | | | | | Drawing operations with DirectFB in RGB32 changes the alpha byte to 0. This doesn't play well with QRasterEngine. See 5fb7752ff93b31635e64fa321917749744cc9db6 and 34059fba55816496d2570b3306ac2b631b12a5c6 Reviewed-by: TrustMe
| * Make flipflags work a little better.Anders Bakken2009-04-073-24/+41
| | | | | | | | | | | | | | | | Make it more flexible. This patch allows people to use DFB without DSFLIP_BLIT. Also, before this patch the flip= options weren't really used for anything. Reviewed-by: TrustMe
| * Make sure to clear surface in toImageAnders Bakken2009-04-071-1/+6
| | | | | | | | | | | | | | It seems DirectFB doesn't preserve alpha value of a blit unless BLEND is specified and if it is we need to Clear to transparent first. Reviewed-by: TrustMe
* | Merge commit 'origin/4.5'Bjoern Erik Nilsen2009-04-076-96/+139
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp src/gui/graphicsview/qgraphicsitem_p.h src/gui/graphicsview/qgraphicsscene.cpp src/gui/painting/qtransform.cpp
| * Kill some warningsAnders Bakken2009-04-071-0/+6
| | | | | | | | Reviewed-by: TrustMe
| * Approriate warning with incompatible optionsAnders Bakken2009-04-071-0/+4
| | | | | | | | | | | | QT_NO_DIRECTFB_LAYER doesn't work unless QT_NO_DIRECTFB_WM also is defined. Reviewed-by: TrustMe
| * Code cleanup.Anders Bakken2009-04-072-9/+9
| | | | | | | | | | | | QDirectFBPaintDevice's know their screen. No need to use instance() in these cases. Reviewed-by: TrustMe
| * Call ReleaseSource where appropriateAnders Bakken2009-04-073-2/+5
| | | | | | | | | | | | | | | | DirectFB caches the last source surface in the target surface after a Blit. This can cause a surface to be kept around longer than desired since the caching increases the ref-count. Unless it's likely that the blit will happen again soon we Release the source. Reviewed-by: TrustMe
| * Better QDirectFBPixmapData::toImage()Anders Bakken2009-04-071-0/+11
| | | | | | | | | | | | | | | | | | This is essentially a return to the earlier version of toImage(). Use a preallocated surface that operates on the returned image to do the conversion. If this causes drawing bugs it is likely a bug in the directfb driver and can be worked around by compiling with QT_NO_DIRECTFB_PREALLOCATED. Reviewed-by: TrustMe
| * Optimize bytesPerLine furtherAnders Bakken2009-04-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | If we're asking for the stride it's very likely the next thing we'll do is ask for the bits() so there's no good reason to unlock it again. In the raster buffer case memory() will be called just before bytesPerLine() so the code won't be hit but it's still the right thing to do. Reviewed-by: TrustMe
| * Optimize fillRects/fillRegionAnders Bakken2009-04-071-23/+5
| | | | | | | | | | | | | | This is not X11. There's no need to create another structure to hold the DFB rectangles. Verified by DirectFB expert. Reviewed-by: TrustMe
| * Cleanup. This function is no longer used.Anders Bakken2009-04-071-10/+0
| | | | | | | | Reviewed-by: TrustMe