#pragma once #include "IHyprWindowDecoration.hpp" class CHyprDropShadowDecoration : public IHyprWindowDecoration { public: CHyprDropShadowDecoration(CWindow*); virtual ~CHyprDropShadowDecoration(); virtual SWindowDecorationExtents getWindowDecorationExtents(); virtual void draw(CMonitor*, float a, const Vector2D& offset); virtual eDecorationType getDecorationType(); virtual void updateWindow(CWindow*); virtual void damageEntire(); virtual eDecorationLayer getDecorationLayer(); private: SWindowDecorationExtents m_seExtents; CWindow* m_pWindow = nullptr; Vector2D m_vLastWindowPos; Vector2D m_vLastWindowSize; CBox m_bLastWindowBox = {0}; SWindowDecorationExtents m_eLastExtents = {}; };