Implement window sharing with the hl toplevel export proto (#1179)

* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
This commit is contained in:
Vaxry
2022-12-05 17:05:15 +00:00
committed by GitHub
parent 20b91f58f8
commit 66fb083003
19 changed files with 863 additions and 7 deletions

View File

@@ -23,6 +23,8 @@ enum eRenderPassMode {
RENDER_PASS_POPUP
};
class CToplevelExportProtocolManager;
class CHyprRenderer {
public:
@@ -54,7 +56,7 @@ public:
private:
void arrangeLayerArray(CMonitor*, const std::vector<std::unique_ptr<SLayerSurface>>&, bool, wlr_box*);
void renderWorkspaceWithFullscreenWindow(CMonitor*, CWorkspace*, timespec*);
void renderWindow(CWindow*, CMonitor*, timespec*, bool, eRenderPassMode, bool ignorePosition = false);
void renderWindow(CWindow*, CMonitor*, timespec*, bool, eRenderPassMode, bool ignorePosition = false, bool ignoreAllGeometry = false);
void renderLayer(SLayerSurface*, CMonitor*, timespec*);
void renderDragIcon(CMonitor*, timespec*);
void renderIMEPopup(SIMEPopup*, CMonitor*, timespec*);
@@ -63,6 +65,7 @@ private:
friend class CHyprOpenGLImpl;
friend class CToplevelExportProtocolManager;
};
inline std::unique_ptr<CHyprRenderer> g_pHyprRenderer;