From 92005e03409c380b82ddfd40cf91fb5cf9db421c Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 26 Mar 2018 18:56:47 +0300 Subject: [PATCH] Swithing from lots of textures to single atlas --- vmf/gui/vmf/.gitignore | 1 - vmf/gui/vmf/header_fav_arrow.dds | Bin 9344 -> 0 bytes vmf/gui/vmf/header_fav_arrow.texture | 18 ---------- vmf/gui/vmf/header_fav_icon.dds | Bin 9344 -> 0 bytes vmf/gui/vmf/header_fav_icon_lit.dds | Bin 9344 -> 0 bytes vmf/gui/vmf/header_fav_icon_lit.texture | 18 ---------- vmf/gui/vmf/mutator_button.dds | Bin 65664 -> 0 bytes vmf/gui/vmf/mutator_button.texture | 17 --------- vmf/gui/vmf/mutator_button_hover.dds | Bin 65664 -> 0 bytes vmf/gui/vmf/mutator_button_hover.texture | 17 --------- vmf/gui/vmf/search_bar_icon.dds | Bin 9344 -> 0 bytes vmf/gui/vmf/search_bar_icon.texture | 18 ---------- vmf/gui/vmf/vmf_atlas.dds | Bin 0 -> 262272 bytes ...der_fav_icon.texture => vmf_atlas.texture} | 2 +- vmf/materials/vmf/header_fav_arrow.material | 14 -------- vmf/materials/vmf/header_fav_icon.material | 14 -------- .../vmf/header_fav_icon_lit.material | 14 -------- vmf/materials/vmf/mutator_button.material | 14 -------- .../vmf/mutator_button_hover.material | 14 -------- vmf/materials/vmf/search_bar_icon.material | 14 -------- vmf/materials/vmf/vmf_atlas.lua | 33 ++++++++++++++++++ vmf/materials/vmf/vmf_atlas.material | 26 ++++++++++++++ vmf/resource_packages/vmf.package | 2 ++ .../mods/vmf/modules/core/commands.lua | 29 ++++----------- .../mods/vmf/modules/core/core_functions.lua | 16 +++++++++ vmf/scripts/mods/vmf/modules/core/network.lua | 9 ++--- .../mods/vmf/modules/gui/custom_textures.lua | 18 ++++------ .../mods/vmf/modules/ui/chat/chat_actions.lua | 19 +++++----- .../vmf/modules/ui/mutators/mutator_gui.lua | 4 +-- .../modules/ui/options/vmf_options_view.lua | 16 +++++---- 30 files changed, 116 insertions(+), 231 deletions(-) delete mode 100644 vmf/gui/vmf/.gitignore delete mode 100644 vmf/gui/vmf/header_fav_arrow.dds delete mode 100644 vmf/gui/vmf/header_fav_arrow.texture delete mode 100644 vmf/gui/vmf/header_fav_icon.dds delete mode 100644 vmf/gui/vmf/header_fav_icon_lit.dds delete mode 100644 vmf/gui/vmf/header_fav_icon_lit.texture delete mode 100644 vmf/gui/vmf/mutator_button.dds delete mode 100644 vmf/gui/vmf/mutator_button.texture delete mode 100644 vmf/gui/vmf/mutator_button_hover.dds delete mode 100644 vmf/gui/vmf/mutator_button_hover.texture delete mode 100644 vmf/gui/vmf/search_bar_icon.dds delete mode 100644 vmf/gui/vmf/search_bar_icon.texture create mode 100644 vmf/gui/vmf/vmf_atlas.dds rename vmf/gui/vmf/{header_fav_icon.texture => vmf_atlas.texture} (90%) delete mode 100644 vmf/materials/vmf/header_fav_arrow.material delete mode 100644 vmf/materials/vmf/header_fav_icon.material delete mode 100644 vmf/materials/vmf/header_fav_icon_lit.material delete mode 100644 vmf/materials/vmf/mutator_button.material delete mode 100644 vmf/materials/vmf/mutator_button_hover.material delete mode 100644 vmf/materials/vmf/search_bar_icon.material create mode 100644 vmf/materials/vmf/vmf_atlas.lua create mode 100644 vmf/materials/vmf/vmf_atlas.material diff --git a/vmf/gui/vmf/.gitignore b/vmf/gui/vmf/.gitignore deleted file mode 100644 index fcd3efb..0000000 --- a/vmf/gui/vmf/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.psd diff --git a/vmf/gui/vmf/header_fav_arrow.dds b/vmf/gui/vmf/header_fav_arrow.dds deleted file mode 100644 index 437ac744ec25282dd795724d8ab32e3af12d9f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9344 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 aG8`ib$Oh&C%K++5O_<~Mp?}$|ZT}y^Ze~pY diff --git a/vmf/gui/vmf/header_fav_arrow.texture b/vmf/gui/vmf/header_fav_arrow.texture deleted file mode 100644 index b2d574d..0000000 --- a/vmf/gui/vmf/header_fav_arrow.texture +++ /dev/null @@ -1,18 +0,0 @@ -common = { - input = { - filename = "gui/vmf/header_fav_arrow" - } - output = { - apply_processing = true - correct_gamma = true - cut_alpha_threshold = 0.5 - enable_cut_alpha_threshold = false - format = "A8R8G8B8" - mipmap_filter = "kaiser" - mipmap_filter_wrap_mode = "mirror" - mipmap_keep_original = false - mipmap_num_largest_steps_to_discard = 0 - mipmap_num_smallest_steps_to_discard = 0 - srgb = true - } -} \ No newline at end of file diff --git a/vmf/gui/vmf/header_fav_icon.dds b/vmf/gui/vmf/header_fav_icon.dds deleted file mode 100644 index 88e96e8d8fa9b08cf08bb098443b435554371a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9344 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 diff --git a/vmf/gui/vmf/header_fav_icon_lit.texture b/vmf/gui/vmf/header_fav_icon_lit.texture deleted file mode 100644 index 0d41c7c..0000000 --- a/vmf/gui/vmf/header_fav_icon_lit.texture +++ /dev/null @@ -1,18 +0,0 @@ -common = { - input = { - filename = "gui/vmf/header_fav_icon_lit" - } - output = { - apply_processing = true - correct_gamma = true - cut_alpha_threshold = 0.5 - enable_cut_alpha_threshold = false - format = "A8R8G8B8" - mipmap_filter = "kaiser" - mipmap_filter_wrap_mode = "mirror" - mipmap_keep_original = false - mipmap_num_largest_steps_to_discard = 0 - mipmap_num_smallest_steps_to_discard = 0 - srgb = true - } -} \ No newline at end of file diff --git a/vmf/gui/vmf/mutator_button.dds b/vmf/gui/vmf/mutator_button.dds deleted file mode 100644 index 311c80ec7c10f332a5da83abca178d3e26e27152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65664 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 literal 0 HcmV?d00001 diff --git a/vmf/gui/vmf/header_fav_icon.texture b/vmf/gui/vmf/vmf_atlas.texture similarity index 90% rename from vmf/gui/vmf/header_fav_icon.texture rename to vmf/gui/vmf/vmf_atlas.texture index 1d40431..05701d6 100644 --- a/vmf/gui/vmf/header_fav_icon.texture +++ b/vmf/gui/vmf/vmf_atlas.texture @@ -1,6 +1,6 @@ common = { input = { - filename = "gui/vmf/header_fav_icon" + filename = "gui/vmf/vmf_atlas" } output = { apply_processing = true diff --git a/vmf/materials/vmf/header_fav_arrow.material b/vmf/materials/vmf/header_fav_arrow.material deleted file mode 100644 index 9f78214..0000000 --- a/vmf/materials/vmf/header_fav_arrow.material +++ /dev/null @@ -1,14 +0,0 @@ -header_fav_arrow = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP:MASKED" - - textures = { - diffuse_map = "gui/vmf/header_fav_arrow" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/header_fav_icon.material b/vmf/materials/vmf/header_fav_icon.material deleted file mode 100644 index 548d034..0000000 --- a/vmf/materials/vmf/header_fav_icon.material +++ /dev/null @@ -1,14 +0,0 @@ -header_fav_icon = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP:MASKED" - - textures = { - diffuse_map = "gui/vmf/header_fav_icon" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/header_fav_icon_lit.material b/vmf/materials/vmf/header_fav_icon_lit.material deleted file mode 100644 index e193268..0000000 --- a/vmf/materials/vmf/header_fav_icon_lit.material +++ /dev/null @@ -1,14 +0,0 @@ -header_fav_icon_lit = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP:MASKED" - - textures = { - diffuse_map = "gui/vmf/header_fav_icon_lit" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/mutator_button.material b/vmf/materials/vmf/mutator_button.material deleted file mode 100644 index 788a6c9..0000000 --- a/vmf/materials/vmf/mutator_button.material +++ /dev/null @@ -1,14 +0,0 @@ -mutator_button = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP" - - textures = { - diffuse_map = "gui/vmf/mutator_button" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/mutator_button_hover.material b/vmf/materials/vmf/mutator_button_hover.material deleted file mode 100644 index 5b04ff1..0000000 --- a/vmf/materials/vmf/mutator_button_hover.material +++ /dev/null @@ -1,14 +0,0 @@ -mutator_button_hover = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP" - - textures = { - diffuse_map = "gui/vmf/mutator_button_hover" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/search_bar_icon.material b/vmf/materials/vmf/search_bar_icon.material deleted file mode 100644 index 69158d7..0000000 --- a/vmf/materials/vmf/search_bar_icon.material +++ /dev/null @@ -1,14 +0,0 @@ -search_bar_icon = { - material_contexts = { - surface_material = "" - } - - shader = "gui_gradient:DIFFUSE_MAP" - - textures = { - diffuse_map = "gui/vmf/search_bar_icon" - } - - variables = { - } -} diff --git a/vmf/materials/vmf/vmf_atlas.lua b/vmf/materials/vmf/vmf_atlas.lua new file mode 100644 index 0000000..f5eab19 --- /dev/null +++ b/vmf/materials/vmf/vmf_atlas.lua @@ -0,0 +1,33 @@ +-- Image Source: ../test +return { + header_fav_arrow = { + size = { 48, 48, }, + uv00 = { 0.187500, 0.687500, }, + uv11 = { 0.375000, 0.875000, }, + }, + header_fav_icon = { + size = { 48, 48, }, + uv00 = { 0.187500, 0.500000, }, + uv11 = { 0.375000, 0.687500, }, + }, + search_bar_icon = { + size = { 48, 48, }, + uv00 = { 0.000000, 0.687500, }, + uv11 = { 0.187500, 0.875000, }, + }, + header_fav_icon_lit = { + size = { 48, 48, }, + uv00 = { 0.000000, 0.500000, }, + uv11 = { 0.187500, 0.687500, }, + }, + mutator_button = { + size = { 128, 128, }, + uv00 = { 0.500000, 0.000000, }, + uv11 = { 1.000000, 0.500000, }, + }, + mutator_button_hover = { + size = { 128, 128, }, + uv00 = { 0.000000, 0.000000, }, + uv11 = { 0.500000, 0.500000, }, + }, +} diff --git a/vmf/materials/vmf/vmf_atlas.material b/vmf/materials/vmf/vmf_atlas.material new file mode 100644 index 0000000..1339923 --- /dev/null +++ b/vmf/materials/vmf/vmf_atlas.material @@ -0,0 +1,26 @@ +vmf_atlas = { + material_contexts = { + surface_material = "" + } + + shader = "gui:DIFFUSE_MAP" + + textures = { + diffuse_map = "gui/vmf/vmf_atlas" + } + + variables = { + } +} + +vmf_atlas_masked = { + material_contexts = { + surface_material = "" + } + shader = "gui_gradient:DIFFUSE_MAP:MASKED" + textures = { + diffuse_map = "gui/vmf/vmf_atlas" + } + variables = { + } +} diff --git a/vmf/resource_packages/vmf.package b/vmf/resource_packages/vmf.package index a45f905..f963a6e 100644 --- a/vmf/resource_packages/vmf.package +++ b/vmf/resource_packages/vmf.package @@ -22,4 +22,6 @@ lua = [ "scripts/mods/vmf/modules/ui/options/*" "scripts/mods/vmf/modules/ui/chat/*" "scripts/mods/vmf/modules/ui/mutators/*" + + "materials/vmf/vmf_atlas" ] \ No newline at end of file diff --git a/vmf/scripts/mods/vmf/modules/core/commands.lua b/vmf/scripts/mods/vmf/modules/core/commands.lua index 8d38aa1..da6db18 100644 --- a/vmf/scripts/mods/vmf/modules/core/commands.lua +++ b/vmf/scripts/mods/vmf/modules/core/commands.lua @@ -7,31 +7,8 @@ local vmf = get_mod("VMF") not sure about UI scaling ]] - --- @TODO: move 'vmf.check_wrong_argument_type' to somewhere else - local _COMMANDS = {} --- #################################################################################################################### --- ##### Local functions ############################################################################################## --- #################################################################################################################### - -vmf.check_wrong_argument_type = function(mod, vmf_function_name, argument_name, argument, ...) - - local allowed_types = {...} - local argument_type = type(argument) - - for _, allowed_type in ipairs(allowed_types) do - if allowed_type == argument_type then - return false - end - end - - mod:error("(%s): argument '%s' should have the '%s' type, not '%s'", vmf_function_name, argument_name, table.concat(allowed_types, "/"), argument_type) - - return true -end - -- #################################################################################################################### -- ##### VMFMod ####################################################################################################### -- #################################################################################################################### @@ -45,6 +22,12 @@ VMFMod.command = function (self, command_name, command_description, command_func return end + if string.find(command_name, " ") then + + self:error("(command): command name can't contain spaces: [%s]", command_name) + return + end + command_name = command_name:lower() if _COMMANDS[command_name] and _COMMANDS[command_name].mod ~= self then diff --git a/vmf/scripts/mods/vmf/modules/core/core_functions.lua b/vmf/scripts/mods/vmf/modules/core/core_functions.lua index c5b2834..2f047bc 100644 --- a/vmf/scripts/mods/vmf/modules/core/core_functions.lua +++ b/vmf/scripts/mods/vmf/modules/core/core_functions.lua @@ -175,6 +175,22 @@ end -- #################################################################################################################### -- ##### VMF internal functions and variables ######################################################################### -- #################################################################################################################### +-- @TODO: maybe it doesn't belong in here +vmf.check_wrong_argument_type = function(mod, vmf_function_name, argument_name, argument, ...) + + local allowed_types = {...} + local argument_type = type(argument) + + for _, allowed_type in ipairs(allowed_types) do + if allowed_type == argument_type then + return false + end + end + + mod:error("(%s): argument '%s' should have the '%s' type, not '%s'", vmf_function_name, argument_name, table.concat(allowed_types, "/"), argument_type) + + return true +end vmf.unsent_chat_messages = _UNSENT_CHAT_MESSAGES diff --git a/vmf/scripts/mods/vmf/modules/core/network.lua b/vmf/scripts/mods/vmf/modules/core/network.lua index 0a4a73d..ed6c9fb 100644 --- a/vmf/scripts/mods/vmf/modules/core/network.lua +++ b/vmf/scripts/mods/vmf/modules/core/network.lua @@ -171,13 +171,8 @@ VMFMod.network_register = function (self, rpc_name, rpc_function) return end - if type(rpc_name) ~= "string" then - self:error("(network_register): rpc_name should be the string, not %s", type(rpc_name)) - return - end - - if type(rpc_function) ~= "function" then - self:error("(network_register): rpc_function should be the function, not %s", type(rpc_name)) + if vmf.check_wrong_argument_type(self, "network_register", "rpc_name", rpc_name, "string") or + vmf.check_wrong_argument_type(self, "network_register", "rpc_function", rpc_function, "function") then return end diff --git a/vmf/scripts/mods/vmf/modules/gui/custom_textures.lua b/vmf/scripts/mods/vmf/modules/gui/custom_textures.lua index 287d3c8..6159e15 100644 --- a/vmf/scripts/mods/vmf/modules/gui/custom_textures.lua +++ b/vmf/scripts/mods/vmf/modules/gui/custom_textures.lua @@ -62,14 +62,12 @@ end VMFMod.custom_atlas = function (self, material_settings_file, material_name, masked_material_name, point_sample_material_name, masked_point_sample_material_name, saturated_material_name) - -- @TODO: this check is legit... is it? - if type(material_settings_file) ~= "string" or - type(material_name) ~= "string" or - type(masked_material_name) ~= "string" or - type(point_sample_material_name) ~= "string" or - type(masked_point_sample_material_name) ~= "string" or - type(saturated_material_name) ~= "string" then - self:error("(custom_atlas): all the arguments have to have the string type") + if vmf.check_wrong_argument_type(self, "custom_atlas", "material_settings_file", material_settings_file, "string") or + vmf.check_wrong_argument_type(self, "custom_atlas", "material_name", material_name, "string", "nil") or + vmf.check_wrong_argument_type(self, "custom_atlas", "masked_material_name", masked_material_name, "string", "nil") or + vmf.check_wrong_argument_type(self, "custom_atlas", "point_sample_material_name", point_sample_material_name, "string", "nil") or + vmf.check_wrong_argument_type(self, "custom_atlas", "masked_point_sample_material_name", masked_point_sample_material_name, "string", "nil") or + vmf.check_wrong_argument_type(self, "custom_atlas", "saturated_material_name", saturated_material_name, "string", "nil") then return end @@ -99,8 +97,7 @@ end VMFMod.inject_materials = function (self, ui_renderer_creator, ...) - if type(ui_renderer_creator) ~= "string" then - self:error("(inject_materials): argument 'ui_renderer_creator' should have the string type, not %s", type(ui_renderer_creator)) + if vmf.check_wrong_argument_type(self, "inject_materials", "ui_renderer_creator", ui_renderer_creator, "string") then return end @@ -160,7 +157,6 @@ end -- ##### Hooks ######################################################################################################## -- #################################################################################################################### -local ui_renderer_creating = false vmf:hook("UIRenderer.create", function(func, world, ...) -- FINDING OUT WHO CREATED UI_RENDERER diff --git a/vmf/scripts/mods/vmf/modules/ui/chat/chat_actions.lua b/vmf/scripts/mods/vmf/modules/ui/chat/chat_actions.lua index 7603939..b330dfe 100644 --- a/vmf/scripts/mods/vmf/modules/ui/chat/chat_actions.lua +++ b/vmf/scripts/mods/vmf/modules/ui/chat/chat_actions.lua @@ -25,6 +25,10 @@ local _CHAT_HISTORY_SAVE_COMMANDS_ONLY = false -- ##### Local functions ############################################################################################## -- #################################################################################################################### +local function initialize_drawing_function() + _COMMANDS_LIST_GUI_DRAW = dofile("scripts/mods/vmf/modules/ui/chat/commands_list_gui") +end + local function clean_chat_history() _CHAT_HISTORY = {} _CHAT_HISTORY_INDEX = 0 @@ -38,7 +42,7 @@ vmf:hook("WorldManager.create_world", function(func, self, name, ...) local world = func(self, name, ...) if name == "top_ingame_view" then - _COMMANDS_LIST_GUI_DRAW = dofile("scripts/mods/vmf/modules/ui/chat/commands_list_gui") + initialize_drawing_function() end return world @@ -232,11 +236,11 @@ end) vmf.load_chat_history_settings = function(clean_chat_history_) - _CHAT_HISTORY_ENABLED = vmf:get("chat_history_enable") - _CHAT_HISTORY_SAVE = vmf:get("chat_history_save") - _CHAT_HISTORY_MAX = vmf:get("chat_history_buffer_size") - _CHAT_HISTORY_REMOVE_DUPS_LAST = vmf:get("chat_history_remove_dups") - _CHAT_HISTORY_REMOVE_DUPS_ALL = vmf:get("chat_history_remove_dups") and (vmf:get("chat_history_remove_dups_mode") == "all") + _CHAT_HISTORY_ENABLED = vmf:get("chat_history_enable") + _CHAT_HISTORY_SAVE = vmf:get("chat_history_save") + _CHAT_HISTORY_MAX = vmf:get("chat_history_buffer_size") + _CHAT_HISTORY_REMOVE_DUPS_LAST = vmf:get("chat_history_remove_dups") + _CHAT_HISTORY_REMOVE_DUPS_ALL = vmf:get("chat_history_remove_dups") and (vmf:get("chat_history_remove_dups_mode") == "all") _CHAT_HISTORY_SAVE_COMMANDS_ONLY = vmf:get("chat_history_commands_only") if _CHAT_HISTORY_ENABLED then @@ -271,6 +275,5 @@ if _CHAT_HISTORY_SAVE then end if Managers.world:has_world("top_ingame_view") then - -- @TODO: move this to local function? - _COMMANDS_LIST_GUI_DRAW = dofile("scripts/mods/vmf/modules/ui/chat/commands_list_gui") + initialize_drawing_function() end \ No newline at end of file diff --git a/vmf/scripts/mods/vmf/modules/ui/mutators/mutator_gui.lua b/vmf/scripts/mods/vmf/modules/ui/mutators/mutator_gui.lua index 12ab12c..7dd8ad8 100644 --- a/vmf/scripts/mods/vmf/modules/ui/mutators/mutator_gui.lua +++ b/vmf/scripts/mods/vmf/modules/ui/mutators/mutator_gui.lua @@ -3,8 +3,8 @@ local manager = get_mod("vmf_mutator_manager") local mutators = manager.mutators -manager:custom_textures("mutator_button", "mutator_button_hover") -manager:inject_materials("ingame_ui", "materials/vmf/mutator_button", "materials/vmf/mutator_button_hover") +--manager:custom_textures("mutator_button", "mutator_button_hover") +--manager:inject_materials("ingame_ui", "materials/vmf/mutator_button", "materials/vmf/mutator_button_hover") local definitions = manager:dofile("scripts/mods/vmf/modules/ui/mutators/mutator_gui_definitions") diff --git a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua index e513374..647bf86 100644 --- a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua +++ b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua @@ -16,9 +16,10 @@ ]] local vmf = get_mod("VMF") -vmf:custom_textures("header_fav_icon", "header_fav_icon_lit", "header_fav_arrow", "search_bar_icon") -vmf:inject_materials("ingame_ui", "materials/vmf/header_fav_icon", "materials/vmf/header_fav_icon_lit", - "materials/vmf/header_fav_arrow", "materials/vmf/search_bar_icon") +--vmf:custom_textures("header_fav_icon", "header_fav_icon_lit", "header_fav_arrow", "search_bar_icon") +vmf:custom_atlas("materials/vmf/vmf_atlas", "vmf_atlas", "vmf_atlas_masked") + +vmf:inject_materials("ingame_ui", "materials/vmf/vmf_atlas") -- #################################################################################################################### -- ##### MENU WIDGETS DEFINITIONS ##################################################################################### @@ -660,13 +661,15 @@ local function create_header_widget(widget_definition, scenegraph_id) fav_icon = { size = {30, 30}, - offset = {15, offset_y + 25, 3} + offset = {15, offset_y + 25, 3}, + masked = true }, fav_arrow_up = { size = {20, 20}, offset = {20, offset_y + 57, 3}, - color = {90, 255, 255, 255} + color = {90, 255, 255, 255}, + masked = true }, fav_arrow_down = { @@ -674,7 +677,8 @@ local function create_header_widget(widget_definition, scenegraph_id) offset = {20, offset_y + 3, 3}, angle = math.pi, pivot = {10, 10}, - color = {90, 255, 255, 255} + color = {90, 255, 255, 255}, + masked = true }, text = {