2024-12-22 17:12:09 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "../../defines.hpp"
|
|
|
|
|
#include <optional>
|
|
|
|
|
|
|
|
|
|
class IPassElement {
|
|
|
|
|
public:
|
|
|
|
|
virtual ~IPassElement() = default;
|
|
|
|
|
|
|
|
|
|
virtual void draw(const CRegion& damage) = 0;
|
|
|
|
|
virtual bool needsLiveBlur() = 0;
|
|
|
|
|
virtual bool needsPrecomputeBlur() = 0;
|
|
|
|
|
virtual const char* passName() = 0;
|
|
|
|
|
virtual void discard();
|
2025-01-01 21:35:42 +01:00
|
|
|
virtual bool undiscardable();
|
2024-12-22 17:12:09 +01:00
|
|
|
virtual std::optional<CBox> boundingBox();
|
|
|
|
|
virtual CRegion opaqueRegion();
|
|
|
|
|
virtual bool disableSimplification();
|
|
|
|
|
};
|