diff options
author | Jeremy Katz <jeremy.katz@nokia.com> | 2010-01-11 15:36:57 (GMT) |
---|---|---|
committer | Jeremy Katz <jeremy.katz@nokia.com> | 2010-01-11 15:36:57 (GMT) |
commit | 4bbbbbcd60d621af0a80926d29a87f061a50ff85 (patch) | |
tree | 1072a2c53c5855bf2aff8375673554a554407677 /src | |
parent | 721653914597ccdec7bbf94b58e6b6879dd53755 (diff) | |
download | Qt-4bbbbbcd60d621af0a80926d29a87f061a50ff85.zip Qt-4bbbbbcd60d621af0a80926d29a87f061a50ff85.tar.gz Qt-4bbbbbcd60d621af0a80926d29a87f061a50ff85.tar.bz2 |
application supplied pixmap cursors for minimaldfb
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp b/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp index e737575..229a875 100644 --- a/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp +++ b/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp @@ -15,22 +15,25 @@ QDirectFBCursor::QDirectFBCursor(QGraphicsSystemScreen * screen) : void QDirectFBCursor::changeCursor(QCursor * cursor, QWidget * widget) { Q_UNUSED(widget); + int xSpot; + int ySpot; + QPixmap map; + if (cursor->shape() != Qt::BitmapCursor) { image->set(cursor->shape()); + xSpot = image->hotspot().x(); + ySpot = image->hotspot().y(); + QImage *i = image->image(); + map = QPixmap::fromImage(*i); } else { - qDebug() << "non-shape cursor: not implemented yet"; - return; + QPoint point = cursor->hotSpot(); + xSpot = point.x(); + ySpot = point.y(); + map = cursor->pixmap(); } - QImage *i = image->image(); - QRect imageRect = i->rect(); - QPixmap map = QPixmap::fromImage(*i); - IDirectFBSurface *surface = QDirectFbConvenience::dfbSurfaceForPixmapData(map.pixmapData()); - int xSpot = image->hotspot().x(); - int ySpot = image->hotspot().y(); - if (m_layer->SetCooperativeLevel(m_layer, DLSCL_ADMINISTRATIVE) != DFB_OK) { return; } |