Files
utun2/tools/chatgui/src/stream_screen_cursor.h
T

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;
};