23
23
#include < godot_cpp/classes/graph_node.hpp>
24
24
#include < godot_cpp/classes/project_settings.hpp>
25
25
#include < godot_cpp/classes/style_box_flat.hpp>
26
- #include < godot_cpp/classes/window.hpp>
27
- #include < godot_cpp/variant/utility_functions.hpp>
28
26
29
27
void OrchestratorThemeCache::_settings_changed ()
30
28
{
@@ -38,7 +36,8 @@ void OrchestratorThemeCache::_settings_changed()
38
36
const Color border = settings->get_setting (" ui/nodes/border_color" , Color (0 , 0 , 0 ));
39
37
const Color select = settings->get_setting (" ui/nodes/border_selected_color" , Color (0 .68f , 0 .44f , 0 .09f ));
40
38
const Color bkgrnd = settings->get_setting (" ui/nodes/background_color" , Color::html (" #191d23" ));
41
- const float bwidth = settings->get_setting (" ui/nodes/border_width" , 2 );
39
+ const int radius = settings->get_setting (" ui/nodes/border_radius" , 4 );
40
+ const int bwidth = settings->get_setting (" ui/nodes/border_width" , 2 );
42
41
43
42
Ref<StyleBoxFlat> panel = get_theme_stylebox (" panel" , " GraphNode" );
44
43
if (!panel.is_valid ())
@@ -52,6 +51,7 @@ void OrchestratorThemeCache::_settings_changed()
52
51
new_panel->set_border_width (SIDE_TOP, 0 );
53
52
new_panel->set_content_margin_all (2 );
54
53
new_panel->set_content_margin (SIDE_BOTTOM, 6 );
54
+ new_panel->set_corner_radius_all (radius);
55
55
new_panel->set_corner_radius (CORNER_TOP_LEFT, 0 );
56
56
new_panel->set_corner_radius (CORNER_TOP_RIGHT, 0 );
57
57
new_panel->set_bg_color (bkgrnd);
@@ -74,7 +74,14 @@ void OrchestratorThemeCache::_settings_changed()
74
74
if (panel->get_bg_color () != bkgrnd)
75
75
panel->set_bg_color (bkgrnd);
76
76
77
- if (!UtilityFunctions::is_equal_approx (panel->get_border_width (SIDE_LEFT), bwidth))
77
+ if (panel->get_corner_radius (CORNER_BOTTOM_LEFT) != radius)
78
+ {
79
+ panel->set_corner_radius_all (radius);
80
+ panel->set_corner_radius (CORNER_TOP_LEFT, 0 );
81
+ panel->set_corner_radius (CORNER_TOP_RIGHT, 0 );
82
+ }
83
+
84
+ if (panel->get_border_width (SIDE_LEFT) != bwidth)
78
85
{
79
86
panel->set_border_width_all (bwidth);
80
87
panel->set_border_width (SIDE_TOP, 0 );
@@ -89,7 +96,14 @@ void OrchestratorThemeCache::_settings_changed()
89
96
if (panel_selected->get_border_color () != select)
90
97
panel_selected->set_border_color (select);
91
98
92
- if (!UtilityFunctions::is_equal_approx (panel_selected->get_border_width (SIDE_LEFT), bwidth))
99
+ if (panel_selected->get_corner_radius (CORNER_BOTTOM_LEFT) != radius)
100
+ {
101
+ panel_selected->set_corner_radius_all (radius);
102
+ panel_selected->set_corner_radius (CORNER_TOP_LEFT, 0 );
103
+ panel_selected->set_corner_radius (CORNER_TOP_RIGHT, 0 );
104
+ }
105
+
106
+ if (panel_selected->get_border_width (SIDE_LEFT) != bwidth)
93
107
{
94
108
panel_selected->set_border_width_all (bwidth);
95
109
panel_selected->set_border_width (SIDE_TOP, 0 );
@@ -115,6 +129,7 @@ void OrchestratorThemeCache::_settings_changed()
115
129
new_titlebar->set_bg_color (color);
116
130
new_titlebar->set_border_width_all (bwidth);
117
131
new_titlebar->set_border_width (SIDE_BOTTOM, 0 );
132
+ new_titlebar->set_corner_radius_all (radius);
118
133
new_titlebar->set_corner_radius (CORNER_BOTTOM_LEFT, 0 );
119
134
new_titlebar->set_corner_radius (CORNER_BOTTOM_RIGHT, 0 );
120
135
@@ -142,7 +157,14 @@ void OrchestratorThemeCache::_settings_changed()
142
157
titlebar->set_border_color (border);
143
158
}
144
159
145
- if (!UtilityFunctions::is_equal_approx (titlebar->get_border_width (SIDE_LEFT), bwidth))
160
+ if (titlebar->get_corner_radius (CORNER_TOP_LEFT) != radius)
161
+ {
162
+ titlebar->set_corner_radius_all (radius);
163
+ titlebar->set_corner_radius (CORNER_BOTTOM_LEFT, 0 );
164
+ titlebar->set_corner_radius (CORNER_BOTTOM_RIGHT, 0 );
165
+ }
166
+
167
+ if (titlebar->get_border_width (SIDE_LEFT) != bwidth)
146
168
{
147
169
titlebar->set_border_width_all (bwidth);
148
170
titlebar->set_border_width (SIDE_BOTTOM, 0 );
@@ -156,7 +178,14 @@ void OrchestratorThemeCache::_settings_changed()
156
178
if (titlebar_selected->get_border_color () != select)
157
179
titlebar_selected->set_border_color (select);
158
180
159
- if (!UtilityFunctions::is_equal_approx (titlebar_selected->get_border_width (SIDE_LEFT), bwidth))
181
+ if (titlebar_selected->get_corner_radius (CORNER_TOP_LEFT) != radius)
182
+ {
183
+ titlebar_selected->set_corner_radius_all (radius);
184
+ titlebar_selected->set_corner_radius (CORNER_BOTTOM_LEFT, 0 );
185
+ titlebar_selected->set_corner_radius (CORNER_BOTTOM_RIGHT, 0 );
186
+ }
187
+
188
+ if (titlebar_selected->get_border_width (SIDE_LEFT) != bwidth)
160
189
{
161
190
titlebar_selected->set_border_width_all (bwidth);
162
191
titlebar_selected->set_border_width (SIDE_BOTTOM, 0 );
0 commit comments