24 lines
766 B
C++
24 lines
766 B
C++
/* Системный курсор Windows/X11 накладывается на QScreen::grabWindow до масштабирования.
|
|
* Только GUI-поток. Положение, hotspot и bitmap используются в физических пикселях выбранного монитора. */
|
|
#pragma once
|
|
#include <QImage>
|
|
#include <QPointer>
|
|
#include <QScreen>
|
|
#ifndef Q_OS_WIN
|
|
#include <QWindow>
|
|
struct _XDisplay;
|
|
#endif
|
|
class StreamScreenCursor {
|
|
public:
|
|
explicit StreamScreenCursor(QScreen* screen);
|
|
~StreamScreenCursor();
|
|
bool draw(QImage& frame);
|
|
private:
|
|
QPointer<QScreen> m_screen;
|
|
#ifndef Q_OS_WIN
|
|
QWindow m_origin;
|
|
struct _XDisplay* m_display = nullptr;
|
|
#endif
|
|
bool m_ready = false, m_reported = false;
|
|
};
|