Hyprland/src/render/Renderer.hpp

30 lines
1 KiB
C++
Raw Normal View History

2022-03-17 20:22:29 +01:00
#pragma once
#include "../defines.hpp"
2022-03-19 14:37:40 +01:00
#include <list>
#include "../helpers/Monitor.hpp"
2022-03-21 19:18:33 +01:00
#include "../helpers/Workspace.hpp"
2022-03-19 16:13:19 +01:00
#include "../Window.hpp"
2022-04-05 20:49:15 +02:00
#include "OpenGL.hpp"
2022-03-17 20:22:29 +01:00
class CHyprRenderer {
public:
void renderAllClientsForMonitor(const int&, timespec*);
2022-03-19 14:07:18 +01:00
void outputMgrApplyTest(wlr_output_configuration_v1*, bool);
2022-03-19 14:37:40 +01:00
void arrangeLayersForMonitor(const int&);
2022-03-21 16:13:43 +01:00
void damageSurface(SMonitor*, double, double, wlr_surface*, void*);
2022-03-17 20:22:29 +01:00
private:
2022-03-21 17:00:17 +01:00
void arrangeLayerArray(SMonitor*, const std::list<SLayerSurface*>&, bool, wlr_box*);
2022-04-05 19:28:10 +02:00
void drawBorderForWindow(CWindow*, SMonitor*, float a = 255.f);
void renderWorkspaceWithFullscreenWindow(SMonitor*, CWorkspace*, timespec*);
2022-03-21 19:18:33 +01:00
void renderWindow(CWindow*, SMonitor*, timespec*, bool);
2022-03-31 17:25:23 +02:00
void renderDragIcon(SMonitor*, timespec*);
2022-04-05 20:49:15 +02:00
friend class CHyprOpenGLImpl;
2022-03-17 20:22:29 +01:00
};
inline std::unique_ptr<CHyprRenderer> g_pHyprRenderer;