5 #include <QApplication>
6 #if !TTK_QT_VERSION_CHECK(5,0,0)
7 # include <QDesktopWidget>
16 if(sr.left() != dr.left())
18 info.
m_size = std::abs(sr.left() - dr.left());
21 else if(sr.right() != dr.right())
23 info.
m_size = std::abs(sr.right() - dr.right());
26 else if(sr.top() != dr.top())
28 info.
m_size = std::abs(sr.top() - dr.top());
31 else if(sr.bottom() != dr.bottom())
33 info.
m_size = std::abs(sr.bottom() - dr.bottom());
46 #if TTK_QT_VERSION_CHECK(5,0,0)
48 QScreen *screen = QApplication::primaryScreen();
49 return screen->availableGeometry();
51 QDesktopWidget *widget = QApplication::desktop();
52 return widget->availableGeometry(index);
58 #if TTK_QT_VERSION_CHECK(5,0,0)
59 const QList<QScreen*> &screens = QApplication::screens();
60 return (index < 0 || index >= screens.count()) ? QRect() : screens[index]->geometry();
62 QDesktopWidget *widget = QApplication::desktop();
63 return widget->screenGeometry(index);
69 #if TTK_QT_VERSION_CHECK(5,0,0)
70 const QList<QScreen*> &screens = QApplication::screens();
71 QRegion virtualGeometry;
72 for(QScreen *screen : screens)
74 virtualGeometry += screen->geometry();
76 return virtualGeometry.boundingRect();
78 QDesktopWidget *widget = QApplication::desktop();
79 return widget->geometry();
85 #if TTK_QT_VERSION_CHECK(5,0,0)
86 return widget->grab(rect);
88 return QPixmap::grabWidget(widget, rect);
94 QWidget widget(
nullptr, Qt::Desktop);
95 widget.setVisible(
false);
97 #if TTK_QT_VERSION_CHECK(5,0,0)
98 return QApplication::primaryScreen()->grabWindow(widget.winId(), x, y, w, h);
100 return QPixmap::grabWindow(widget.winId(), x, y, w, h);
static QPixmap grabWidget(QWidget *widget, const QRect &rect)
static QPixmap grabWindow(int x=0, int y=0, int w=-1, int h=-1)
TTK::Direction m_direction
static QRect availableGeometry(int index=0)
static QRect screenGeometry(int index=0)
static TaskbarInfo screenTaskbar(int index=0)