Exemplo n.º 1
0
// get screenshot
void Core::screenShot(bool first)
{
    // grb pixmap of desktop
    switch(conf->getTypeScreen())
    {
    case 0:
    {
        *pixelMap = QPixmap::grabWindow(QApplication::desktop()->winId());
        checkAutoSave(first);
        break;
    }
    case 1:
    {
#ifdef Q_WS_WIN
        getActiveWind_Win32();
#endif
#ifdef Q_WS_X11
        getActiveWind_X11();
#endif
        checkAutoSave(first);
        break;
    }
    case 2:
    {
        RegionSelect *selector;
        selector = new RegionSelect(conf);
        int resilt = selector->exec();

        if (resilt == QDialog::Accepted)
        {
            *pixelMap = selector->getSelection();
            checkAutoSave(first);
            delete selector;
        }
        else // if reguin select is canceled - exit without new screen
        {
            qDebug() << " selectuiincanceled";
            delete selector;
        }
        break;
    }
    default:
        *pixelMap = QPixmap::grabWindow(QApplication::desktop()->winId());
        break;
    }

    Q_EMIT newScreenShot(pixelMap);
}
Exemplo n.º 2
0
// get screenshot
void screengrab::screenShot()
{
    // grb pixmap of desktop
    switch(conf->getTypeScreen())
    {
        case 0:
        {
            *pixelMap = QPixmap::grabWindow(QApplication::desktop()->winId());
            break;
        }
        case 1:
            {
#ifdef Q_WS_WIN
    getActiveWind_Win32();
#endif
#ifdef Q_WS_X11
    getActiveWind_X11();
#endif
                break;
            }
        case 2:
            {
            RegionSelect *selector;
            selector = new RegionSelect(conf);
            int resilt = selector->exec();

            if (resilt == QDialog::Accepted)
            {
                *pixelMap = selector->getSelection();
            }
            delete selector;
            break;
            }
        default:
            *pixelMap = QPixmap::grabWindow(QApplication::desktop()->winId()); break;
    }

}