summaryrefslogtreecommitdiff
path: root/src/render/Renderer.hpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-05-05 22:18:10 +0100
committerVaxry <43317083+vaxerski@users.noreply.github.com>2024-05-09 13:37:39 +0100
commited411f53bdcf8d455f9e6ca769693aa84dc8372f (patch)
treeaacedb349acdd1022975d7b622dc7cfe11388223 /src/render/Renderer.hpp
parente4e84064f2d07810e0c150bce1369a0a00503e9a (diff)
cursor: move to a hyprland impl
This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
Diffstat (limited to 'src/render/Renderer.hpp')
-rw-r--r--src/render/Renderer.hpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp
index b93af0b0..748a055f 100644
--- a/src/render/Renderer.hpp
+++ b/src/render/Renderer.hpp
@@ -64,9 +64,8 @@ class CHyprRenderer {
void setOccludedForMainWorkspace(CRegion& region, PHLWORKSPACE pWorkspace); // TODO: merge occlusion methods
bool canSkipBackBufferClear(CMonitor* pMonitor);
void recheckSolitaryForMonitor(CMonitor* pMonitor);
- void setCursorSurface(wlr_surface* surf, int hotspotX, int hotspotY, bool force = false);
+ void setCursorSurface(CWLSurface* surf, int hotspotX, int hotspotY, bool force = false);
void setCursorFromName(const std::string& name, bool force = false);
- void renderSoftwareCursors(CMonitor* pMonitor, const CRegion& damage, std::optional<Vector2D> overridePos = {});
void onRenderbufferDestroy(CRenderbuffer* rb);
CRenderbuffer* getCurrentRBO();
bool isNvidia();
@@ -75,15 +74,14 @@ class CHyprRenderer {
// if RENDER_MODE_NORMAL, provided damage will be written to.
// otherwise, it will be the one used.
- bool beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode mode = RENDER_MODE_NORMAL, wlr_buffer* buffer = nullptr, CFramebuffer* fb = nullptr);
- void endRender();
+ bool beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode mode = RENDER_MODE_NORMAL, wlr_buffer* buffer = nullptr, CFramebuffer* fb = nullptr, bool simple = false);
+ void endRender();
- bool m_bBlockSurfaceFeedback = false;
- bool m_bRenderingSnapshot = false;
+ bool m_bBlockSurfaceFeedback = false;
+ bool m_bRenderingSnapshot = false;
PHLWINDOWREF m_pLastScanout;
- CMonitor* m_pMostHzMonitor = nullptr;
- bool m_bDirectScanoutBlocked = false;
- bool m_bSoftwareCursorsLocked = false;
+ CMonitor* m_pMostHzMonitor = nullptr;
+ bool m_bDirectScanoutBlocked = false;
DAMAGETRACKINGMODES
damageTrackingModeFromStr(const std::string&);
@@ -100,10 +98,10 @@ class CHyprRenderer {
CTimer m_tRenderTimer;
struct {
- int hotspotX;
- int hotspotY;
- std::optional<wlr_surface*> surf = nullptr;
- std::string name;
+ int hotspotX;
+ int hotspotY;
+ std::optional<CWLSurface*> surf = nullptr;
+ std::string name;
} m_sLastCursorData;
private:
@@ -139,6 +137,7 @@ class CHyprRenderer {
friend class CHyprOpenGLImpl;
friend class CToplevelExportProtocolManager;
friend class CInputManager;
+ friend class CPointerManager;
};
inline std::unique_ptr<CHyprRenderer> g_pHyprRenderer;