mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-03-17 18:55:19 +01:00
overlays/home: Add icons repository wrapper
This commit is contained in:
parent
fcb5a5c5f8
commit
3194bd3fb4
|
|
@ -487,6 +487,7 @@ target_sources(rpcs3_emu PRIVATE
|
|||
RSX/NV47/HW/nv406e.cpp
|
||||
RSX/NV47/HW/nv4097.cpp
|
||||
RSX/Overlays/FriendsList/overlay_friends_list_dialog.cpp
|
||||
RSX/Overlays/HomeMenu/overlay_home_icons.cpp
|
||||
RSX/Overlays/HomeMenu/overlay_home_menu.cpp
|
||||
RSX/Overlays/HomeMenu/overlay_home_menu_components.cpp
|
||||
RSX/Overlays/HomeMenu/overlay_home_menu_main_menu.cpp
|
||||
|
|
|
|||
59
rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp
Normal file
59
rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
#include "stdafx.h"
|
||||
#include "overlay_home_icons.h"
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace rsx::overlays::home_menu
|
||||
{
|
||||
std::unordered_map<fa_icon, std::unique_ptr<image_info>> g_icons_cache;
|
||||
|
||||
static const char* fa_icon_to_filename(fa_icon icon)
|
||||
{
|
||||
switch (icon)
|
||||
{
|
||||
case fa_icon::home:
|
||||
return "home.png";
|
||||
case fa_icon::settings:
|
||||
return "settings.png";
|
||||
case fa_icon::back:
|
||||
return "circle-left-solid.png";
|
||||
case fa_icon::floppy:
|
||||
return "floppy-disk-solid.png";
|
||||
case fa_icon::maximize:
|
||||
return "maximize-solid.png";
|
||||
case fa_icon::play:
|
||||
return "play-button-arrowhead.png";
|
||||
case fa_icon::poweroff:
|
||||
return "power-off-solid.png";
|
||||
case fa_icon::restart:
|
||||
return "rotate-left-solid.png";
|
||||
case fa_icon::screenshot:
|
||||
return "screenshot.png";
|
||||
case fa_icon::video_camera:
|
||||
return "video-camera.png";
|
||||
}
|
||||
}
|
||||
|
||||
void load_icon(fa_icon icon)
|
||||
{
|
||||
if (!g_icons_cache.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const std::string image_path = fmt::format("%s/Icons/ui/home/%s", fs::get_config_dir(), fa_icon_to_filename(icon));
|
||||
g_icons_cache[icon] = std::make_unique<image_info>(image_path);
|
||||
}
|
||||
|
||||
const image_info* get_icon(fa_icon icon)
|
||||
{
|
||||
auto found = g_icons_cache.find(icon);
|
||||
if (found != g_icons_cache.end())
|
||||
{
|
||||
return found->second.get();
|
||||
}
|
||||
|
||||
load_icon(icon);
|
||||
return g_icons_cache.at(icon).get();
|
||||
}
|
||||
}
|
||||
23
rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h
Normal file
23
rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#pragma once
|
||||
|
||||
#include "Emu/RSX/Overlays/overlays.h"
|
||||
#include "Emu/RSX/Overlays/overlay_controls.h"
|
||||
|
||||
namespace rsx::overlays::home_menu
|
||||
{
|
||||
enum class fa_icon
|
||||
{
|
||||
home = 0,
|
||||
settings,
|
||||
back,
|
||||
floppy,
|
||||
maximize,
|
||||
play,
|
||||
poweroff,
|
||||
restart,
|
||||
screenshot,
|
||||
video_camera
|
||||
};
|
||||
|
||||
const image_info* get_icon(fa_icon icon);
|
||||
}
|
||||
|
|
@ -135,6 +135,7 @@
|
|||
<ClCompile Include="Emu\RSX\NV47\HW\nv406e.cpp" />
|
||||
<ClCompile Include="Emu\RSX\NV47\HW\nv4097.cpp" />
|
||||
<ClCompile Include="Emu\RSX\Overlays\FriendsList\overlay_friends_list_dialog.cpp" />
|
||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.cpp" />
|
||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu.cpp" />
|
||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.cpp" />
|
||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_message_box.cpp" />
|
||||
|
|
@ -696,6 +697,7 @@
|
|||
<ClInclude Include="Emu\RSX\NV47\HW\common.h" />
|
||||
<ClInclude Include="Emu\RSX\NV47\HW\nv47_sync.hpp" />
|
||||
<ClInclude Include="Emu\RSX\Overlays\FriendsList\overlay_friends_list_dialog.h" />
|
||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.h" />
|
||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu.h" />
|
||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.h" />
|
||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_message_box.h" />
|
||||
|
|
|
|||
|
|
@ -1417,6 +1417,9 @@
|
|||
<ClCompile Include="Emu\RSX\Overlays\overlay_tabs.cpp">
|
||||
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.cpp">
|
||||
<Filter>Emu\GPU\RSX\Overlays\HomeMenu</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Crypto\aes.h">
|
||||
|
|
@ -2845,6 +2848,9 @@
|
|||
<ClInclude Include="Emu\RSX\Overlays\overlay_tabs.h">
|
||||
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.h">
|
||||
<Filter>Emu\GPU\RSX\Overlays\HomeMenu</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Emu\RSX\Program\GLSLSnippets\GPUDeswizzle.glsl">
|
||||
|
|
|
|||
Loading…
Reference in a new issue