Hyprland/src/render/decorations/IHyprWindowDecoration.hpp

31 lines
571 B
C++
Raw Normal View History

#pragma once
#include "../../defines.hpp"
enum eDecorationType {
DECORATION_NONE = -1,
DECORATION_GROUPBAR
};
struct SWindowDecorationExtents {
Vector2D topLeft;
Vector2D bottomRight;
};
class CWindow;
struct SMonitor;
class IHyprWindowDecoration {
public:
virtual ~IHyprWindowDecoration() = 0;
virtual SWindowDecorationExtents getWindowDecorationExtents() = 0;
virtual void draw(SMonitor*) = 0;
virtual eDecorationType getDecorationType() = 0;
virtual void updateWindow(CWindow*) = 0;
virtual void damageEntire() = 0;
};