SceneSwitcher/lib/utils/splitter-helpers.cpp
2024-01-27 14:10:34 +01:00

34 lines
921 B
C++

#include "splitter-helpers.hpp"
namespace advss {
void SaveSplitterPos(const QList<int> &sizes, obs_data_t *obj,
const std::string &name)
{
auto array = obs_data_array_create();
for (int i = 0; i < sizes.count(); ++i) {
obs_data_t *array_obj = obs_data_create();
obs_data_set_int(array_obj, "pos", sizes[i]);
obs_data_array_push_back(array, array_obj);
obs_data_release(array_obj);
}
obs_data_set_array(obj, name.c_str(), array);
obs_data_array_release(array);
}
void LoadSplitterPos(QList<int> &sizes, obs_data_t *obj,
const std::string &name)
{
sizes.clear();
obs_data_array_t *array = obs_data_get_array(obj, name.c_str());
size_t count = obs_data_array_count(array);
for (size_t i = 0; i < count; i++) {
obs_data_t *item = obs_data_array_item(array, i);
sizes << obs_data_get_int(item, "pos");
obs_data_release(item);
}
obs_data_array_release(array);
}
} // namespace advss