summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/ui/GdUnitFonts.gd
diff options
context:
space:
mode:
Diffstat (limited to 'addons/gdUnit4/src/ui/GdUnitFonts.gd')
-rw-r--r--addons/gdUnit4/src/ui/GdUnitFonts.gd36
1 files changed, 36 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/ui/GdUnitFonts.gd b/addons/gdUnit4/src/ui/GdUnitFonts.gd
new file mode 100644
index 0000000..0cb0f5d
--- /dev/null
+++ b/addons/gdUnit4/src/ui/GdUnitFonts.gd
@@ -0,0 +1,36 @@
+@tool
+class_name GdUnitFonts
+extends RefCounted
+
+
+static func init_fonts(item: CanvasItem) -> float:
+ # set default size
+ item.set("theme_override_font_sizes/font_size", 16)
+
+ if Engine.is_editor_hint():
+ var base_control := EditorInterface.get_base_control()
+ # source modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs
+ # https://github.com/godotengine/godot/blob/9ee1873ae1e09c217ac24a5800007f63cb895615/editor/editor_log.cpp#L65
+ var output_source_mono := base_control.get_theme_font("output_source_mono", "EditorFonts")
+ var output_source_bold_italic := base_control.get_theme_font("output_source_bold_italic", "EditorFonts")
+ var output_source_italic := base_control.get_theme_font("output_source_italic", "EditorFonts")
+ var output_source_bold := base_control.get_theme_font("output_source_bold", "EditorFonts")
+ var output_source := base_control.get_theme_font("output_source", "EditorFonts")
+ var settings := EditorInterface.get_editor_settings()
+ var scale_factor := EditorInterface.get_editor_scale()
+ var font_size: float = settings.get_setting("interface/editor/main_font_size")
+
+ font_size *= scale_factor
+ item.set("theme_override_fonts/normal_font", output_source)
+ item.set("theme_override_fonts/bold_font", output_source_bold)
+ item.set("theme_override_fonts/italics_font", output_source_italic)
+ item.set("theme_override_fonts/bold_italics_font", output_source_bold_italic)
+ item.set("theme_override_fonts/mono_font", output_source_mono)
+ item.set("theme_override_font_sizes/font_size", font_size)
+ item.set("theme_override_font_sizes/normal_font_size", font_size)
+ item.set("theme_override_font_sizes/bold_font_size", font_size)
+ item.set("theme_override_font_sizes/italics_font_size", font_size)
+ item.set("theme_override_font_sizes/bold_italics_font_size", font_size)
+ item.set("theme_override_font_sizes/mono_font_size", font_size)
+ return font_size
+ return 16.0