light/modules/renderer/public/components/messenger.hpp
light7734 16f3a80fd3
Some checks reported errors
continuous-integration/drone/push Build was killed
feat(renderer): separate things into backend/frontend + major vk backend refactors
2025-10-04 22:08:19 +03:30

52 lines
770 B
C++

#pragma once
#include <any>
namespace lt::renderer {
enum class MessageSeverity : uint8_t
{
none = 0u,
verbose = bit(0u),
info = bit(1u),
warning = bit(2u),
error = bit(3u),
all = verbose | info | warning | error,
};
enum class MessageType : uint8_t
{
none = 0u,
general = bit(0u),
validation = bit(1u),
performance = bit(2u),
all = general | validation | performance,
};
struct MessengerCallbackData
{
std::string message;
};
using Callback_T = std::function<void(
MessageSeverity message_severity,
MessageType message_type,
MessengerCallbackData data,
std::any user_data
)>;
struct MessengerComponent
{
MessageSeverity severities;
MessageType types;
Callback_T callback;
std::any user_data;
};
} // namespace lt::renderer