示例#1
0
void QDragManager::updatePixmap()
{
    if (qt_qws_dnd_deco) {
        QPixmap pm;
        QPoint pm_hot(default_pm_hotx,default_pm_hoty);
        if (drag_object) {
            pm = drag_object->pixmap();
            if (!pm.isNull())
                pm_hot = drag_object->hotSpot();
        }
        if (pm.isNull()) {
            if (!defaultPm)
                defaultPm = new QPixmap(default_pm);
            pm = *defaultPm;
        }
        qt_qws_dnd_deco->setPixmap(pm);
        qt_qws_dnd_deco->move(QCursor::pos()-pm_hot);
        if (willDrop) {
            qt_qws_dnd_deco->show();
        } else {
#ifndef EMSCRIPTEN
            // Hiding the pixmap feels weird, and doesn't match the desktop behaving;
            // so I've disabled it for Emscripten.
            qt_qws_dnd_deco->hide();
#endif
        }
    }
}
void QDragManager::updatePixmap()
{
    QPixmap pm;
    QPoint pm_hot(default_pm_hotx,default_pm_hoty);
    if (drag_object) {
        pm = drag_object->pixmap();
        if (!pm.isNull())
            pm_hot = drag_object->hotSpot();
    }
    if (pm.isNull()) {
        if (!defaultPm)
            defaultPm = new QPixmap(default_pm);
        pm = *defaultPm;
    }
#ifndef QT_NO_CURSOR
    QCursor cursor(pm, pm_hot.x(), pm_hot.y());
    overrideCursor = cursor;
#endif
}
示例#3
0
void QDragManager::updatePixmap()
{
    if ( qt_qws_dnd_deco ) {
	QPixmap pm;
	QPoint pm_hot(default_pm_hotx,default_pm_hoty);
	if ( drag_object ) {
	    pm = drag_object->pixmap();
	    if ( !pm.isNull() )
		pm_hot = drag_object->pixmapHotSpot();
	}
	if ( pm.isNull() ) {
	    if ( !defaultPm )
		defaultPm = new QPixmap(default_pm);
	    pm = *defaultPm;
	}
	qt_qws_dnd_deco->setPixmap(pm);
	qt_qws_dnd_deco->move(QCursor::pos()-pm_hot);
	if ( willDrop ) {
	    qt_qws_dnd_deco->show();
	} else {
	    qt_qws_dnd_deco->hide();
	}
    }
}