Files
cbh/ElaWidgetTools/private/ElaDxgiManagerPrivate.h
2025-09-20 01:41:33 +08:00

39 lines
965 B
C++

#ifndef ELADXGIMANAGERPRIVATE_H
#define ELADXGIMANAGERPRIVATE_H
#include <QObject>
#ifdef Q_OS_WIN
#include "ElaProperty.h"
#include <QImage>
class ElaDxgi;
class ElaDxgiManager;
class ElaDxgiManagerPrivate : public QObject {
Q_OBJECT
Q_D_CREATE(ElaDxgiManager)
public:
explicit ElaDxgiManagerPrivate(QObject *parent = nullptr);
~ElaDxgiManagerPrivate();
private:
Q_SIGNAL void grabScreen();
bool _isAllowedGrabScreen{false};
ElaDxgi *_dxgi{nullptr};
QThread *_dxgiThread{nullptr};
};
class ElaDxgiScreen;
class ElaDxgiScreenPrivate : public QObject {
Q_OBJECT
Q_D_CREATE(ElaDxgiScreen)
Q_PROPERTY_CREATE_D(int, BorderRadius)
public:
explicit ElaDxgiScreenPrivate(QObject *parent = nullptr);
~ElaDxgiScreenPrivate();
private:
ElaDxgiManager *_dxgiManager{nullptr};
bool _isSyncGrabSize{false};
QImage _img;
};
#endif
#endif // ELADXGIMANAGERPRIVATE_H