mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-16 12:33:48 -07:00
20 lines
723 B
C++
20 lines
723 B
C++
#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();
|
|
};
|