summaryrefslogtreecommitdiff
path: root/Libraries/LibDraw/SystemTheme.h
blob: d1528dfd37300c76b37c4e90f0f755b7444fdcbf (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#pragma once

#include <AK/SharedBuffer.h>
#include <AK/Types.h>
#include <LibDraw/Color.h>

enum class ColorRole {
    NoRole,
    DesktopBackground,
    ActiveWindowBorder1,
    ActiveWindowBorder2,
    ActiveWindowTitle,
    InactiveWindowBorder1,
    InactiveWindowBorder2,
    InactiveWindowTitle,
    MovingWindowBorder1,
    MovingWindowBorder2,
    MovingWindowTitle,
    HighlightWindowBorder1,
    HighlightWindowBorder2,
    HighlightWindowTitle,
    MenuStripe,
    MenuBase,
    MenuBaseText,
    MenuSelection,
    MenuSelectionText,
    Window,
    WindowText,
    Button,
    ButtonText,
    Base,
    BaseText,
    ThreedHighlight,
    ThreedShadow1,
    ThreedShadow2,
    HoverHighlight,
    Selection,
    SelectionText,
    RubberBandFill,
    RubberBandBorder,
    Link,
    ActiveLink,
    VisitedLink,

    __Count,

    Background = Window,
    DisabledText = ThreedShadow1,
};

struct SystemTheme {
    Color color[(int)ColorRole::__Count];
};

const SystemTheme& current_system_theme();
int current_system_theme_buffer_id();
void set_system_theme(SharedBuffer&);
RefPtr<SharedBuffer> load_system_theme(const String& path);