summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers again.Jason McDonald2009-09-0939-156/+156
| | | | Reviewed-by: Trust Me
* Fix QDirectFBPixmapData::fromImageAnders Bakken2009-09-081-6/+30
| | | | | | | | | | | This fix should optimize pixmap loading on most platforms and also fixes a bug on a certain hardware where the alpha channel of an image was not retained upon loading it. This patch also takes care of handling dithering better in QDirectFBPixmapData::fromImage(). Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix define in QDirectFBScreenAnders Bakken2009-09-081-1/+1
| | | | | | It's QT_NO_DIRECTFB.*, not QT_DIRECTFB_NO.* Reviewed-by: TrustMe
* memset DFBWindowDescription to 0Anders Bakken2009-09-081-0/+2
| | | | | | This makes debugging easier. Reviewed-by: TrustMe
* Use the right type in DFBPaintEngineAnders Bakken2009-09-041-2/+2
| | | | Reviewed-by: TrustMe
* Remove unnecessary call to exposeRegion in DFBAnders Bakken2009-09-042-12/+8
| | | | | | | | | If we make sure to erase the background to background color in connect() we don't have to do it in setGeometry. Also clean up the code in QDBWindowSurface::flush Reviewed-by: Donald Carr <donald.carr@nokia.com>
* QDFBScreen bgcolor is only use in non_wm modeAnders Bakken2009-09-041-4/+4
| | | | | | | No need to carry those extra bytes around when QT_DIRECTFB_WM is defined. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Remove unused function in QDFBScreenAnders Bakken2009-09-042-6/+0
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Handle proxywidgets better in DFBAnders Bakken2009-09-041-21/+26
| | | | | | | | This code is roughly the same as in other screen drivers. We shouldn't flush widgets that are in a graphicsscene as a proxy widget. They will be handled by the graphicsview. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make exposeRegion work better in DFB_NO_WM modeAnders Bakken2009-09-042-118/+123
| | | | | | | | Previously we didn't properly compose windows so QT_NO_DIRECTFB_WM mode would generally only work for single windows (with no popups). This also simplifies the code a lot. Previously we would among other things paint the mouse cursor twice in this mode.
* Cache the DFBSurface for the cursor imageAnders Bakken2009-09-041-7/+16
| | | | | | | | This surface is painted every time we move the mouse cursor (in NO_DIRECTFB_WM) and doesn't change all that often so caching it is relatively easy and beneficial. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix a bug in DFBWindowSurface::setGeometryAnders Bakken2009-09-041-26/+31
| | | | | | | | | | Make sure to release the surface of a window before resizing. Seemingly certain versions of DirectFB change the surface when the window is resized. Also clean up setGeometry() Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix reversed logic in QDFBScreen::exposeRegionAnders Bakken2009-09-031-1/+1
| | | | | | | We should fill the bounding rect only when the region has one rectangle. Not the other way around. Reviewed-by: TrustMe
* Create windows with the appropriate geometryAnders Bakken2009-09-022-6/+12
| | | | | | | | Since DirectFB allows for providing position and size on creation of windows we might as well use these fields rather than first create the surface and then resize it. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Support Windowed mode for DFB < 1.0Anders Bakken2009-09-021-13/+20
| | | | | | | | DirectFB doesn't let you query the size of the Display in versions prior to 1.0. In this version require people to specify the size using QWS_SIZE, QWS_DISPLAY or print a warning and exit. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make size specification more robust in dfbAnders Bakken2009-09-021-8/+31
| | | | | | Support exporting QWS_SIZE=100x100 to set size Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Compile with DFB 0.9Anders Bakken2009-09-021-1/+1
| | | | | | DSPD_XOR is not supported until 1.0. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make sure to release surface in ~DFBWindowSurfaceAnders Bakken2009-09-022-0/+21
| | | | | | | | | | We don't want this surface to be released by QDirectFBScreen. It's always created without tracking. Also abstract the if (dfbSurface != primarySurface) things since we will use it from multiple functions. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Add QDirectFBWindowSurface::releaseSubSurfaceAnders Bakken2009-09-022-4/+13
| | | | | | | This convenience function will be called from whereever the subsurface is invalidated. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make sure to set mem to 0 in unlockSurfaceAnders Bakken2009-09-021-0/+1
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Partially revert 05e30a4aa7ae5ea552c459fc7d64c8270Anders Bakken2009-09-021-2/+0
| | | | | | sibling exists when QT_NO_DIRECTFB_WM is defined as well. Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fix DirectFB driver when comipled with NO_WMJørgen Lind2009-09-022-0/+6
| | | | Reviewed-by: Tom
* Rewrite of DirectFB locking mechanismAnders Bakken2009-09-018-92/+184
| | | | | | | | | | | | | | | | | DirectFB allows you to have a locked subSurface that remains valid while you paint on the unlocked "parent" surface. The only limitation is that when accessing the locked memory you might have to call DirectFB->WaitIdle() in case pending GPU operations aren't finished. After this we keep the locked surface around at all times (from the first time it's requested) until the surface dies. Previous calls to lock() will just call WaitIdle if necessary and previous calls to unlock now just mark the surface as dirty and in need of a WaitIdle if someone needs to access its pixel data. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make DirectFB compile with Qt in a namespaceAnders Bakken2009-09-015-43/+38
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Copy directfb.pro to src/gui/embedded/directfb.priAnders Bakken2009-09-011-35/+3
| | | | Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* More DirectFB ifdef cleanup.Anders Bakken2009-08-316-5/+10
| | | | | | | Make sure the plugin builds but doesn't do anything when configured without -plugin-gfx-directfb Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make cursor work in non-windowed modeAnders Bakken2009-08-315-30/+41
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Clean up directfb ifdefsAnders Bakken2009-08-3115-23/+52
| | | | | | Make sure all files are wrapped in QT_NO_QWS_DIRECTFB Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix QT_BEGIN/END_NAMESPACE in DirectFBAnders Bakken2009-08-3114-2/+65
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Don't use QString(const char *) in QDirectFBScreenAnders Bakken2009-08-311-2/+2
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Remove duplicated code in qdirectfbScreen.cppAnders Bakken2009-08-311-31/+1
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Allow setting screen size with connect optionsAnders Bakken2009-08-311-0/+2
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-3139-507/+507
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-3139-507/+507
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-1139-39/+39
| | | | | | | | Reviewed-by: Trust Me
* | Remove unnecessary static_cast in QDirectFBScreenAnders Bakken2009-08-281-1/+1
| | | | | | | | Reviewed-by: TrustMe
* | Make lockSurface take a real enumAnders Bakken2009-08-282-3/+3
| | | | | | | | Reviewed-by: TrustMe
* | Rearrange ifdefsAnders Bakken2009-08-271-3/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize permanentState/setPermanentStateAnders Bakken2009-08-261-9/+6
| | | | | | | | | | | | No need to use a QDataStream here. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Remove bufferImage stuff from dfbwindowsurfaceAnders Bakken2009-08-262-41/+0
| | | | | | | | | | | | | | Neither grabWidget nor buffer is ever called from Qt and they're not public API Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Implement QDirectFBScreen::surfaceForWidgetAnders Bakken2009-08-264-0/+56
| | | | | | | | | | | | | | | | | | | | Allow applications to get a pointer to the surface of the window surface for a given widget or a subsurface of the widget. This function ignores whether or not the widget is fully or partially obscured. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Use QScopedPointer instead of homegrown smartptrAnders Bakken2009-08-261-30/+29
| | | | | | | | | | | | | | Since QScopedPointer can take a custom cleanup handler we can use this instead of the original QDirectFBPointer. Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* | Make IDirectFBImageProvider enabled by defaultAnders Bakken2009-08-252-3/+3
| | | | | | | | | | | | | | To prevent using IDirectFBImageProviders one can define QT_NO_DIRECTFB_IMAGEPROVIDER Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Ensure that windows are double buffered in DFBAnders Bakken2009-08-251-1/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Render cursor with a window in dfb if desiredAnders Bakken2009-08-253-4/+171
| | | | | | | | | | | | | | | | Some DFB implementations do not support rendering the cursor using the intended interfaces. In these cases one can define QT_DIRECTFB_WINDOW_AS_CURSOR and use a window to render the cursor. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Implement support for keeping image provider aliveAnders Bakken2009-08-254-1/+42
| | | | | | | | | | | | | | | | | | | | | | If you define QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE we make sure atleast one IDirectFBImageProvider is alive at all times. Apparently this is refcounted by DirectFB on atleast one implementation and there's considerable overhead involved when releasing the last/creating the first image provider. Reviewed-by: TrustMe
* | Implement support for DirectFB image providersAnders Bakken2009-08-254-4/+172
| | | | | | | | | | | | | | | | | | Reimplement QPixmapData::fromFile/fromData to load images using IDirectFBImage providers. This functionality might be accelerated on embedded boards and could have potentially large performance enhancements. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize QDirectFBPaintDevice::bytesPerLineAnders Bakken2009-08-251-1/+1
| | | | | | | | | | | | | | If we actually need it locked we'll probably need it locked for read|write. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Refactor QDirectFBPaintDevice/QDirectFBPixmapDataAnders Bakken2009-08-258-31/+70
| | | | | | | | | | | | Move format into QDirectFBPaintDevice. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize createDFBSurfaceAnders Bakken2009-08-241-10/+11
| | | | | | | | | | | | When possible do a single memcpy instead of one per scan-line. Reviewed-by: Donald Carr <donald.carr@nokia.com>