| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This value seems to cause problems on various chipsets and we get a
double buffered window regardless.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
(cherry picked from commit 3bc9a381ebfaf9144120936bb579b71fc7cf29ae)
|
|
|
|
|
|
|
| |
QRegion::numRects() is marked obsolete.
Removed all usage of the old function inside Qt and test-cases.
Reviewed-by: Andreas Aardal Hanssen
|
|
|
|
|
|
|
|
|
|
| |
Since QWS uses the winids for its own purposes I have to store this as a
dynamic property. _q_DirectFBWindowID
The _q_ is documented to be reserved so this won't break anyone's
applications.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
|
|
| |
Since DirectFB handles the composition for us we don't need to
invalidate anything when moving a window. Only on resize do we want
another paint event.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
|
|
| |
We need to make sure the QDirectFBWindowSurface returns true for
isBuffered(). Otherwise QWSWindowSurface will force a repaint when
moved.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Initialize IDirectFBWindows with the correct capabilities/options when
supporting top level transparency.
Also, properly deal with runtime changes of top level transparency.
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
|
|
|
|
|
|
|
| |
Instead of having to call unlockSurface/releaseSubSurface and
releaseSurface to release the surface in QDirectFBWindowSurface make
releaseSurface do all three things.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that one cannot do multiple blits within a double-buffered
surface in overlapping one another without doing a Flip in between. I
find this a little odd and will check that it's the correct behavior but
this fixes bugs in scroll(). To see a case that used to produce drawing
errors check out the collidingmouse example and drag the viewport
around.
Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
|
|
|
|
|
|
| |
This function is only exported when DirectFB is built into QtGui.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
| |
I had the logic of the assert wrong with the isAncestorOf call.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
This makes debugging easier.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
sibling exists when QT_NO_DIRECTFB_WM is defined as well.
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
|
|
|
|
| |
Reviewed-by: Tom
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
| |
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
|
|
| |
Make sure all files are wrapped in QT_NO_QWS_DIRECTFB
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|
|
|
| |
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| | |
No need to use a QDataStream here.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Neither grabWidget nor buffer is ever called from Qt and they're not
public API
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Move format into QDirectFBPaintDevice.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| | |
QT_DIRECTFB_WM relies on QT_DIRECTFB_LAYER to be defined.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Don't try too hard to temporarily represent an image in a real directfb
surface. It leads to all sorts of rendering issues.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We never used to properly raise windows with DirectFB's window
management. Somehow the event happens on a window surface that doesn't
really have a IDirectFBWindow associated with it but using
permanentState I can establish a sibling relationship to ensure raise
gets called on the right window surface.
Reviewed-By: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
When we have proper window manager support from DirectFB we shouldn't
create our own primary surface. This patch vastly cleans up a number of
issues in QDirectFBScreen regarding this.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
To avoid confusion rename QDirectFBScreen::dfbSurface()
primarySurface() since this is what it is.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Make sure we recreate the paint engine if it's 0 in beginPaint. Also
don't delete the paint engine in moves, only resizes.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/tools/qsharedpointer.cpp
src/corelib/tools/qsharedpointer_impl.h
src/gui/dialogs/qcolordialog.cpp
src/gui/painting/qwindowsurface_raster.cpp
src/network/access/qnetworkaccessmanager.cpp
tests/auto/qsharedpointer/externaltests.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make the engine a member in QDirectFBPaintDevice instead of one in
QDirectFBPixmapData and one in QDirectFBWindowSurface.
Don't use the default screen for the dfbpaintdevices. Pass one
explicitly.
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since QRasterPaintEngine::baseClip was initialized when the
QDirectFBPaintEngine was created and the paintengine persists for the
window surface we run the risk that the baseClip is of the wrong size.
This could lead to crashes and erroneous clipping.
Reviewed-by: Donald <qt-info@nokia.com>
|
|/
|
|
|
|
|
| |
QRasterPaintEngine assumes device does not change size. Therefore create
a new engine when resizing.
Reviewed-by: Tom
|
|
|
|
|
|
|
|
|
| |
Minor optimization.
Also make sure cursor is drawn in flush even if we're not in Offscreen
mode.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch vastly simplifies the geometry handling (setGeometry/move)
It also implements a mode in which DirectFB implementations that do not
support windows can use an offscreen buffer as its backing store.
Previously the only way to do this was to paint directly on the primary
surface. This didn't work when the dfb driver didn't support an
accelerated mouse cursor.
It also detects the situation when the cursor isn't accelerated and
takes care of painting it manually when needed.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DirectFB declares variables that are bit fields as enums.
E.g.
DFBSurfaceCapabilities caps;
caps |= DSCAPS_LOCK; // doesn't compile in C++
Work around this problem by declaring operators for these operations.
This greatly improves the readability of the code.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
This ifdef was simply in the wrong place.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
We already do this in QDirectFBWindowSurface::scroll
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: Trust Me
|