blob: a006ce9e0f744c0dd6dfa0d066c92c8a9b47f833 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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();
virtual bool undiscardable();
virtual std::optional<CBox> boundingBox(); // in monitor-local logical coordinates
virtual CRegion opaqueRegion(); // in monitor-local logical coordinates
virtual bool disableSimplification();
};
|