1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-13 19:29:14 +01:00

[hud] Allow returning HUD item objects to the caller

This commit is contained in:
Philip Rebohle 2025-01-13 11:31:35 +01:00 committed by Philip Rebohle
parent d5744e5a81
commit 0eeedf9259
2 changed files with 9 additions and 5 deletions

View File

@ -48,8 +48,8 @@ namespace dxvk::hud {
* \param [in] args Constructor arguments
*/
template<typename T, typename... Args>
void addItem(const char* name, int32_t at, Args... args) {
m_hudItems.add<T>(name, at, std::forward<Args>(args)...);
Rc<T> addItem(const char* name, int32_t at, Args... args) {
return m_hudItems.add<T>(name, at, std::forward<Args>(args)...);
}
/**

View File

@ -91,7 +91,7 @@ namespace dxvk::hud {
* \param [in] args Constructor arguments
*/
template<typename T, typename... Args>
void add(const char* name, int32_t at, Args... args) {
Rc<T> add(const char* name, int32_t at, Args... args) {
bool enable = m_enableFull;
if (!enable) {
@ -102,10 +102,14 @@ namespace dxvk::hud {
if (at < 0 || at > int32_t(m_items.size()))
at = m_items.size();
Rc<T> item;
if (enable) {
m_items.insert(m_items.begin() + at,
new T(std::forward<Args>(args)...));
item = new T(std::forward<Args>(args)...);
m_items.insert(m_items.begin() + at, item);
}
return item;
}
template<typename T>