mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-06-02 04:36:57 -06: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/nv406e.cpp
|
||||||
RSX/NV47/HW/nv4097.cpp
|
RSX/NV47/HW/nv4097.cpp
|
||||||
RSX/Overlays/FriendsList/overlay_friends_list_dialog.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.cpp
|
||||||
RSX/Overlays/HomeMenu/overlay_home_menu_components.cpp
|
RSX/Overlays/HomeMenu/overlay_home_menu_components.cpp
|
||||||
RSX/Overlays/HomeMenu/overlay_home_menu_main_menu.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\nv406e.cpp" />
|
||||||
<ClCompile Include="Emu\RSX\NV47\HW\nv4097.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\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.cpp" />
|
||||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.cpp" />
|
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.cpp" />
|
||||||
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_message_box.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\common.h" />
|
||||||
<ClInclude Include="Emu\RSX\NV47\HW\nv47_sync.hpp" />
|
<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\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.h" />
|
||||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.h" />
|
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_components.h" />
|
||||||
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_menu_message_box.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">
|
<ClCompile Include="Emu\RSX\Overlays\overlay_tabs.cpp">
|
||||||
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.cpp">
|
||||||
|
<Filter>Emu\GPU\RSX\Overlays\HomeMenu</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Crypto\aes.h">
|
<ClInclude Include="Crypto\aes.h">
|
||||||
@ -2845,6 +2848,9 @@
|
|||||||
<ClInclude Include="Emu\RSX\Overlays\overlay_tabs.h">
|
<ClInclude Include="Emu\RSX\Overlays\overlay_tabs.h">
|
||||||
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
<Filter>Emu\GPU\RSX\Overlays</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\RSX\Overlays\HomeMenu\overlay_home_icons.h">
|
||||||
|
<Filter>Emu\GPU\RSX\Overlays\HomeMenu</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Emu\RSX\Program\GLSLSnippets\GPUDeswizzle.glsl">
|
<None Include="Emu\RSX\Program\GLSLSnippets\GPUDeswizzle.glsl">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user