blob: 457112fa0197623ea455e57ba585ac5750ed709d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include <cstdint>
#include <type_traits>
#include "../../../helpers/memory/Memory.hpp"
namespace Config::Supplementary {
enum ePropRefreshProp : uint16_t {
REFRESH_LAYOUTS = (1 << 0),
REFRESH_INPUT_DEVICES = (1 << 1),
REFRESH_SCREEN_SHADER = (1 << 2),
REFRESH_BLUR_FB = (1 << 3),
REFRESH_RULES = (1 << 4),
REFRESH_WINDOW_STATES = (1 << 5) | REFRESH_RULES,
REFRESH_MONITOR_STATES = (1 << 6) | REFRESH_LAYOUTS,
REFRESH_CURSOR_ZOOMS = (1 << 7),
REFRESH_CONFIG_WATCHER = (1 << 8),
REFRESH_GRADIENTS_GROUPBAR = (1 << 9),
REFRESH_ALL = std::numeric_limits<std::underlying_type_t<ePropRefreshProp>>::max(),
};
using PropRefreshBits = std::underlying_type_t<ePropRefreshProp>;
class CPropRefresher {
public:
void scheduleRefresh(PropRefreshBits reason);
private:
bool m_scheduled = false;
PropRefreshBits m_propsTripped;
};
UP<CPropRefresher>& refresher();
};
|