-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy paththeme.py
More file actions
104 lines (84 loc) · 4.3 KB
/
theme.py
File metadata and controls
104 lines (84 loc) · 4.3 KB
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import dearpygui.dearpygui as dpg
import helpers
def load_themes() -> None:
# Colors
mint, dark_mint = (39, 124, 90), (29, 93, 68)
kinda_black = (22, 22, 18)
blue = (58, 86, 131)
cool_gray = (75, 111, 170)
dark_turquoise, turquoise, light_turquoise = (
(17, 81, 85),
(20, 97, 102),
(24, 113, 119),
)
earthy_yellow = (217, 174, 100)
red = (196, 69, 54)
bg_dim = (37, 37, 38, 200)
with dpg.theme(tag="main_theme"):
with dpg.theme_component(dpg.mvAll):
# Window rounding
dpg.add_theme_style(dpg.mvStyleVar_WindowRounding, 6)
# Hide window border
dpg.add_theme_style(dpg.mvStyleVar_WindowBorderSize, 0)
# Main colors
dpg.add_theme_color(dpg.mvThemeCol_WindowBg, kinda_black)
dpg.add_theme_color(dpg.mvThemeCol_Button, dark_turquoise)
dpg.add_theme_color(dpg.mvThemeCol_ButtonHovered, turquoise)
dpg.add_theme_color(dpg.mvThemeCol_ButtonActive, light_turquoise)
dpg.add_theme_color(dpg.mvThemeCol_Tab, (0, 0, 0, 0))
dpg.add_theme_color(dpg.mvThemeCol_TabActive, mint)
dpg.add_theme_color(dpg.mvThemeCol_TabHovered, dark_mint)
dpg.add_theme_color(dpg.mvThemeCol_HeaderActive, cool_gray)
dpg.add_theme_color(dpg.mvThemeCol_HeaderHovered, blue)
dpg.add_theme_color(dpg.mvThemeCol_TitleBgActive, earthy_yellow)
dpg.add_theme_color(dpg.mvThemeCol_CheckMark, (232, 49, 81))
dpg.add_theme_color(dpg.mvThemeCol_PopupBg, (35, 35, 35, 200))
# Elements rounding
with dpg.theme_component(dpg.mvButton):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
with dpg.theme_component(dpg.mvCombo):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
with dpg.theme_component(dpg.mvImageButton):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
with dpg.theme_component(dpg.mvInputText):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
with dpg.theme_component(dpg.mvCollapsingHeader):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
with dpg.theme_component(dpg.mvProgressBar):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
# 'Reset' button accent color
with dpg.theme_component(dpg.mvTabButton):
dpg.add_theme_color(dpg.mvThemeCol_TabHovered, red)
# Disabled button theme
with dpg.theme_component(dpg.mvButton, enabled_state=False):
dpg.add_theme_style(dpg.mvStyleVar_FrameRounding, 4)
dpg.add_theme_color(dpg.mvThemeCol_Button, (51, 51, 55, 255))
dpg.add_theme_color(dpg.mvThemeCol_ButtonHovered, (51, 51, 55, 255))
dpg.add_theme_color(dpg.mvThemeCol_ButtonActive, (51, 51, 55, 255))
dpg.add_theme_color(dpg.mvThemeCol_Text, (151, 151, 151, 255))
with dpg.theme(tag="filepick_overlay_theme"):
with dpg.theme_component():
dpg.add_theme_color(dpg.mvThemeCol_PopupBg, (0, 0, 0, 0))
dpg.add_theme_color(dpg.mvThemeCol_ModalWindowDimBg, bg_dim)
with dpg.theme(tag="popup_theme"):
with dpg.theme_component():
dpg.add_theme_style(dpg.mvStyleVar_WindowBorderSize, 1)
dpg.add_theme_color(dpg.mvThemeCol_ModalWindowDimBg, bg_dim)
def load_fonts() -> None:
path = helpers.resource_path("resources/fonts/JetBrainsMonoNL-Regular.ttf")
with dpg.font_registry():
with dpg.font(str(path), 16, tag="JetBrainsMono"):
dpg.add_font_range_hint(dpg.mvFontRangeHint_Cyrillic)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Simplified_Common)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Full)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Vietnamese)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Korean)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Thai)
dpg.add_font_range_hint(dpg.mvFontRangeHint_Japanese)
def load_icons() -> None:
path = helpers.resource_path("resources/icons/checkmark.png")
width, height, _, data = dpg.load_image(str(path))
with dpg.texture_registry():
dpg.add_static_texture(
width=width, height=height, default_value=data, tag="checkmark"
)