2022-04-08 21:40:41 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "../defines.hpp"
|
|
|
|
|
#include "../render/Texture.hpp"
|
2023-01-20 20:48:07 +01:00
|
|
|
#include "../helpers/AnimatedVariable.hpp"
|
2022-04-08 21:40:41 +02:00
|
|
|
|
|
|
|
|
#include <cairo/cairo.h>
|
|
|
|
|
|
|
|
|
|
class CHyprError {
|
2022-12-16 17:17:31 +00:00
|
|
|
public:
|
2023-01-20 20:48:07 +01:00
|
|
|
CHyprError();
|
|
|
|
|
~CHyprError();
|
|
|
|
|
|
2024-12-03 18:58:24 +00:00
|
|
|
void queueCreate(std::string message, const CHyprColor& color);
|
2024-10-08 21:20:25 +01:00
|
|
|
void draw();
|
|
|
|
|
void destroy();
|
|
|
|
|
|
|
|
|
|
bool active();
|
|
|
|
|
float height(); // logical
|
2022-04-08 21:40:41 +02:00
|
|
|
|
2022-12-16 17:17:31 +00:00
|
|
|
private:
|
2025-01-07 17:55:14 +00:00
|
|
|
void createQueued();
|
|
|
|
|
std::string m_szQueued = "";
|
|
|
|
|
CHyprColor m_cQueued;
|
|
|
|
|
bool m_bQueuedDestroy = false;
|
|
|
|
|
bool m_bIsCreated = false;
|
|
|
|
|
SP<CTexture> m_pTexture;
|
|
|
|
|
PHLANIMVAR<float> m_fFadeOpacity;
|
|
|
|
|
CBox m_bDamageBox = {0, 0, 0, 0};
|
|
|
|
|
float m_fLastHeight = 0.F;
|
|
|
|
|
|
|
|
|
|
bool m_bMonitorChanged = false;
|
2022-04-08 21:40:41 +02:00
|
|
|
};
|
|
|
|
|
|
2024-03-02 01:35:17 +01:00
|
|
|
inline std::unique_ptr<CHyprError> g_pHyprError; // This is a full-screen error. Treat it with respect, and there can only be one at a time.
|