Hyprland/src/render/pass/BorderPassElement.hpp
Vaxry e536b02248
Renderer: rewrite render scheduling (#8683)
This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
2024-12-22 17:12:09 +01:00

30 lines
797 B
C++

#pragma once
#include "PassElement.hpp"
#include "../../config/ConfigDataValues.hpp"
class CGradientValueData;
class CBorderPassElement : public IPassElement {
public:
struct SBorderData {
CBox box;
CGradientValueData grad1, grad2;
bool hasGrad2 = false;
float lerp = 0.F, a = 1.F;
int round = 0, borderSize = 1, outerRound = -1;
};
CBorderPassElement(const SBorderData& data_);
virtual ~CBorderPassElement() = default;
virtual void draw(const CRegion& damage);
virtual bool needsLiveBlur();
virtual bool needsPrecomputeBlur();
virtual const char* passName() {
return "CBorderPassElement";
}
private:
SBorderData data;
};