added basic damage tracking

This commit is contained in:
vaxerski
2022-04-14 16:43:29 +02:00
parent 158af1eb09
commit 75af34da96
11 changed files with 259 additions and 84 deletions

View File

@@ -7,13 +7,26 @@
#include "../Window.hpp"
#include "OpenGL.hpp"
// TODO: add fuller damage tracking for updating only parts of a window
enum DAMAGETRACKINGMODES {
DAMAGE_TRACKING_INVALID = -1,
DAMAGE_TRACKING_NONE = 0,
DAMAGE_TRACKING_MONITOR,
DAMAGE_TRACKING_FULL
};
class CHyprRenderer {
public:
void renderAllClientsForMonitor(const int&, timespec*);
void outputMgrApplyTest(wlr_output_configuration_v1*, bool);
void arrangeLayersForMonitor(const int&);
void damageSurface(SMonitor*, double, double, wlr_surface*, void*);
void damageSurface(wlr_surface*, double, double);
void damageWindow(CWindow*);
void damageBox(wlr_box*);
void damageMonitor(SMonitor*);
DAMAGETRACKINGMODES damageTrackingModeFromStr(const std::string&);
private:
void arrangeLayerArray(SMonitor*, const std::list<SLayerSurface*>&, bool, wlr_box*);