| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
s/lock/lockFlgs/
lock is also a function in QWSWindowSurface.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of storing whether or not our clip is dirty and updating it in
every paint operation we'll just update it whenever it changes. This is
more intuitive and should be faster for the common case as well.
Also make sure to implement clip(region).
Prevent multiple updateClip() calls for a single clip operation by
introducing a flag to check whether we recursed into the different
clip() calls.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
Make sure to call CLIPPED_PAINT so painting with a region clip works.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
We don't need to chain to the base class since the QDirectFBScreenCursor
always is rendered by hardware but we should update the pos variable in
case people ask where the cursor is.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Make QT_DIRECTFB_WM be defined if QT_NO_DIRECTFB_WM is not. This makes
it possible to write more readable code.
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
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When holding down a key DirectFB gives us only keypresses.
Qt wants these kind of events:
press not autorepeat
release autorepeat
press autorepeat
release autorepeat
press autorepeat
release not autorepeat
Reviewed-by: Donald <qt-info@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>
|
| |
| |
| |
| |
| |
| | |
These porter duff operations were added for 1.0.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| | |
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DFBRegions are exactly like QRects it turns out. x2/y2 ==
QRect::right()/QRect::bottom()
This means I actually can reinterpret_cast QRect to DFBRegions but it's
not really worth it.
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Handle region clips by iterating over the rectangles and updating clips
accordingly.
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch makes us not fall back to the raster engine for most of the
composition mode operations when doing blits. Primitives are still
handled by Qt when composition != SourceOver
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
QRasterPaintEngine assumes device does not change size. Therefore create
a new engine when resizing.
Reviewed-by: Tom
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The new class alows more than one hook to be installed at a time and,
for QPixmaps, the hook is told which pixmap is getting deleted.
Reviewed-By: Samuel
|
|/ /
| |
| |
| |
| |
| | |
These structures are only used in versions after 0.922.
Reviewed-by: Donald <qt-info@nokia.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
src/3rdparty/webkit/WebCore/page/DragController.cpp
src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
src/3rdparty/webkit/WebKit/qt/ChangeLog
src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
src/gui/painting/qpaintengineex_p.h
tools/linguist/lupdate/main.cpp
|
| |
| |
| |
| | |
Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Always check the mouse data we read for coordinates rather than asking
the layer. This approach works whether we have layers enabled/window
management enabled or any combination thereof.
Also, make sure we use a software cursor when either of NO_WM or
NO_LAYER is defined.
Reviewed: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Minor optimization.
Also make sure cursor is drawn in flush even if we're not in Offscreen
mode.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| | |
Minor optimization
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Make sure that these calls are in the right order.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This code should be a noop in the case where one has a proper dfb cursor
and proper dfb window handling. This was the only case it actually
worked.
This patch makes it work for a screen cursor rendered by Qt and sets
exposeRegion up to work for using an offscreen backing store.
Since one can't query the background color set by directfb this patch
also adds a connect option to set the background color. This is needed
for erasing the background when the mouse cursor moves.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Something went wrong with the integrate from 4.5 to master.
Reviewed-by: TrustMe
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsscene.cpp
src/gui/kernel/qt_cocoa_helpers_mac_p.h
|
| |
| |
| |
| | |
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Fix QDirectFBMousePrivate and QDirectFBKeyboardPrivate
Reviewed-by: TrustMe
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
src/3rdparty/webkit/WebCore/page/DOMWindow.idl
src/corelib/io/qdiriterator.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
tests/auto/qxmlquery/tst_qxmlquery.cpp
tools/linguist/lconvert/main.cpp
|
| |
| |
| |
| |
| |
| |
| | |
86ea4dbb5a748491656d9621ecd58238bc3e3d82 accidentally took out this
line.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| | |
Make the code easier to read.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
drawColorSpan is never called from anywhere so we might as well get rid
of the code.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
If DSCAPS_SYSTEMONLY is specified we shouldn't try to create the surface
in video memory.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
PorterDuff should only be enabled if the raster engine says it is. E.g.
if we're painting on a format with alpha.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Move implementation of debug functions to the bottom of the file.
- Move ImageCache stuff to under QDirectFBPaintEnginePrivate
- Move SurfaceCache stuff to under QDirectFBPaintEnginePrivate
Reviewed-by: Shane McLaughlin <Shane.McLaughlin@trolltech.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pretty much every paint operation on DirectFB surfaces starts with
a clipping operations which until now would always cause a
IDirectFBSurface->Lock(). This was to make sure QRasterBuffer::prepare
had been called so QClipData::initialize() would allocate a big enough
array for its spans. We can safely not make
QDirectFBPaintDevice::memory() return 0 until we actually fall back.
Reviewed-By: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Slight optimization by using the pluralized functions when possible.
Also make templatized helper functions to avoid near-duplication of code
for the float/int cases.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
The drawTiledPixmap code iterated while x < right and y < bottom. This
should be x <= right and y <= bottom.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Preallocated surfaces can currently be copied to video memory behind our
back. This means that we can not use this mechanism for toImage()
In later versions of DirectFB this might be possible to toggle with a
flag so I'll leave the code in there #if 0'ed
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
It's only used once and I want to unclutter the top of
qdirectfbpaintengine.cpp
Reviewed-by: TrustMe
|