diff options
Diffstat (limited to 'src/protocols/Screencopy.hpp')
| -rw-r--r-- | src/protocols/Screencopy.hpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/protocols/Screencopy.hpp b/src/protocols/Screencopy.hpp index ead8b2ed..665fede1 100644 --- a/src/protocols/Screencopy.hpp +++ b/src/protocols/Screencopy.hpp @@ -10,6 +10,7 @@ #include "../managers/HookSystemManager.hpp" #include "../helpers/time/Timer.hpp" #include "../helpers/time/Time.hpp" +#include "../render/Framebuffer.hpp" #include "../managers/eventLoop/EventLoopTimer.hpp" #include <aquamarine/buffer/Buffer.hpp> @@ -72,10 +73,15 @@ class CScreencopyFrame { int m_shmStride = 0; CBox m_box = {}; - void copy(CZwlrScreencopyFrameV1* pFrame, wl_resource* buffer); - void copyDmabuf(std::function<void(bool)> callback); - bool copyShm(); - void share(); + // if we have a pending perm, hold the buffer. + CFramebuffer m_tempFb; + + void copy(CZwlrScreencopyFrameV1* pFrame, wl_resource* buffer); + void copyDmabuf(std::function<void(bool)> callback); + bool copyShm(); + void renderMon(); + void storeTempFB(); + void share(); friend class CScreencopyProtocol; }; |
