@tool @icon("res://addons/icons-fonts/resources/FontIconSettings.svg") class_name FontIconSettings extends Resource @export_enum("MaterialIcons", "Emojis") var icon_font := "MaterialIcons" ## Name of Icon to display @export var icon_name := "image-outline": set(value): icon_name = value emit_changed() ## Size of the icon in range 16-128 @export_range(16, 128, 1) var icon_size := 16: set(value): icon_size = value emit_changed() @export var icon_color := Color.WHITE: set(value): icon_color = value emit_changed() @export_group("Outline", "outline_") @export var outline_color := Color.WHITE: set(value): outline_color = value emit_changed() @export var outline_size := 0: set(value): outline_size = value emit_changed() @export_group("Shadow", "shadow_") @export var shadow_color := Color.WHITE: set(value): shadow_color = value emit_changed() @export var shadow_size := 0: set(value): shadow_size = value emit_changed() @export var shadow_offset := Vector2.ZERO: set(value): shadow_offset = value emit_changed() func update_label_settings(label_settings: LabelSettings) -> void: match icon_font: "MaterialIcons": label_settings.font = load(IconsFonts.material_icons_font) "Emojis": label_settings.font = load(IconsFonts.emojis_font) label_settings.font_size = icon_size label_settings.font_color = icon_color label_settings.outline_color = outline_color label_settings.outline_size = outline_size label_settings.shadow_color = shadow_color label_settings.shadow_offset = shadow_offset label_settings.shadow_size = shadow_size