#include #include #include #include "hyperionclient.h" #include "WaylandGrabber.h" #include #include #include #include #include #include #include #include class HyperionGrabber : public QObject { Q_OBJECT public: HyperionGrabber(QHash opts); ~HyperionGrabber(); private: HyperionClient *_hclient_p; QTimer *_timer_p; WaylandGrabber *_waylandGrabber_p; int _inactiveTime_m = 0; QString _hyperionPriority_m; unsigned short _scale_m = 8; unsigned short _frameskip_m = 0; long long _frameCounter_m = 0; QOpenGLContext *_context; QOpenGLFramebufferObject *_fbo; QOpenGLShaderProgram *_shaderProgram; QOpenGLTexture *_texture; QOpenGLFunctions *_functions; QOffscreenSurface *_offscreenSurface; QString _parseColorArr(QString, bool); private slots: void _inActivity(); void _processFrame(const QVideoFrame &frame); void _setImgSize(int width, int height); };