1
0
Fork 0
mirror of https://github.com/polybar/polybar.git synced 2024-11-18 13:55:11 -05:00
polybar/include/events/types.hpp

60 lines
1 KiB
C++
Raw Normal View History

#pragma once
#include <cstdint>
2016-12-23 16:19:42 -05:00
#include "common.hpp"
POLYBAR_NS
enum class event_type : uint8_t {
NONE = 0,
UPDATE,
CHECK,
INPUT,
QUIT,
};
struct event {
uint8_t type{0};
bool flag{false};
};
namespace {
2016-12-23 16:19:42 -05:00
inline bool operator==(uint8_t id, event_type type) {
return id == static_cast<uint8_t>(type);
}
2017-01-18 23:38:42 -05:00
inline bool operator!=(uint8_t id, event_type type) {
return !(id == static_cast<uint8_t>(type));
}
2016-12-23 16:19:42 -05:00
/**
* Create QUIT event
*/
inline event make_quit_evt(bool reload = false) {
return event{static_cast<uint8_t>(event_type::QUIT), reload};
}
/**
* Create UPDATE event
*/
inline event make_update_evt(bool force = false) {
return event{static_cast<uint8_t>(event_type::UPDATE), force};
}
/**
* Create INPUT event
*/
inline event make_input_evt() {
return event{static_cast<uint8_t>(event_type::INPUT)};
}
/**
* Create CHECK event
*/
inline event make_check_evt() {
return event{static_cast<uint8_t>(event_type::CHECK)};
}
}
2016-12-23 16:19:42 -05:00
POLYBAR_NS_END