Hyprland/src/render/pass/TexPassElement.hpp
Tom Englund 5da8281d68 pass: remove unusued timeline in texpass (#9734)
remove unused timeline and waitpoint in texpass and especially remove
the passing it to renderTextureInternalWithDamage that implicitly
converted it to bool. setting discardActive and allowCustomUV
2025-03-28 16:14:46 +00:00

39 lines
1.1 KiB
C++

#pragma once
#include "PassElement.hpp"
#include <optional>
class CWLSurfaceResource;
class CTexture;
class CSyncTimeline;
class CTexPassElement : public IPassElement {
public:
struct SRenderData {
SP<CTexture> tex;
CBox box;
float a = 1.F;
CRegion damage;
int round = 0;
float roundingPower = 2.0f;
bool flipEndFrame = false;
std::optional<Mat3x3> replaceProjection;
CBox clipBox;
};
CTexPassElement(const SRenderData& data);
virtual ~CTexPassElement() = default;
virtual void draw(const CRegion& damage);
virtual bool needsLiveBlur();
virtual bool needsPrecomputeBlur();
virtual std::optional<CBox> boundingBox();
virtual CRegion opaqueRegion();
virtual void discard();
virtual const char* passName() {
return "CTexPassElement";
}
private:
SRenderData data;
};