summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx/chainreader.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-01-29 06:53:43 +1100
committer Vas Crabb <vas@vastheman.com>2023-01-29 06:53:43 +1100
commiteaa43879cd2ae2e4c7bf7d685e8650a32277eea7 (patch)
tree598d9eab839851d279ab68cdbdf778ad4f3cf38a /src/osd/modules/render/bgfx/chainreader.cpp
parent5671484fc87fc11b536a0b0f6cb0efb1e680d489 (diff)
render/bgfx: Got rid of a lot of unnecessary object copying during setup.
Diffstat (limited to 'src/osd/modules/render/bgfx/chainreader.cpp')
-rw-r--r--src/osd/modules/render/bgfx/chainreader.cpp50
1 files changed, 29 insertions, 21 deletions
diff --git a/src/osd/modules/render/bgfx/chainreader.cpp b/src/osd/modules/render/bgfx/chainreader.cpp
index 7d92c641695..7e890682a60 100644
--- a/src/osd/modules/render/bgfx/chainreader.cpp
+++ b/src/osd/modules/render/bgfx/chainreader.cpp
@@ -8,21 +8,20 @@
#include "chainreader.h"
-#include <string>
-#include <vector>
-#include <map>
-
#include "chain.h"
+#include "chainentryreader.h"
#include "chainmanager.h"
-#include "sliderreader.h"
+#include "parameter.h"
#include "paramreader.h"
-#include "chainentryreader.h"
-#include "targetreader.h"
-#include "targetmanager.h"
#include "slider.h"
-#include "parameter.h"
+#include "sliderreader.h"
+#include "targetmanager.h"
+#include "targetreader.h"
+
+#include <vector>
+#include <map>
-bgfx_chain* chain_reader::read_from_value(const Value& value, std::string prefix, chain_manager& chains, uint32_t screen_index, uint16_t user_prescale, uint16_t max_prescale_size)
+bgfx_chain* chain_reader::read_from_value(const Value& value, const std::string &prefix, chain_manager& chains, uint32_t screen_index, uint16_t user_prescale, uint16_t max_prescale_size)
{
if (!validate_parameters(value, prefix))
{
@@ -121,19 +120,28 @@ bgfx_chain* chain_reader::read_from_value(const Value& value, std::string prefix
}
}
- return new bgfx_chain(name, author, transform, chains.targets(), sliders, parameters, entries, target_list, screen_index);
+ return new bgfx_chain(
+ std::move(name),
+ std::move(author),
+ transform,
+ chains.targets(),
+ std::move(sliders),
+ std::move(parameters),
+ std::move(entries),
+ std::move(target_list),
+ screen_index);
}
-bool chain_reader::validate_parameters(const Value& value, std::string prefix)
+bool chain_reader::validate_parameters(const Value& value, const std::string &prefix)
{
- if (!READER_CHECK(value.HasMember("name"), (prefix + "Must have string value 'name'\n").c_str())) return false;
- if (!READER_CHECK(value["name"].IsString(), (prefix + "Value 'name' must be a string\n").c_str())) return false;
- if (!READER_CHECK(value.HasMember("author"), (prefix + "Must have string value 'author'\n").c_str())) return false;
- if (!READER_CHECK(value["author"].IsString(), (prefix + "Value 'author' must be a string\n").c_str())) return false;
- if (!READER_CHECK(value.HasMember("passes"), (prefix + "Must have array value 'passes'\n").c_str())) return false;
- if (!READER_CHECK(value["passes"].IsArray(), (prefix + "Value 'passes' must be an array\n").c_str())) return false;
- if (!READER_CHECK(!value.HasMember("sliders") || value["sliders"].IsArray(), (prefix + "Value 'sliders' must be an array\n").c_str())) return false;
- if (!READER_CHECK(!value.HasMember("parameters") || value["parameters"].IsArray(), (prefix + "Value 'parameters' must be an array\n").c_str())) return false;
- if (!READER_CHECK(!value.HasMember("targets") || value["targets"].IsArray(), (prefix + "Value 'targets' must be an array\n").c_str())) return false;
+ if (!READER_CHECK(value.HasMember("name"), "%sMust have string value 'name'\n", prefix)) return false;
+ if (!READER_CHECK(value["name"].IsString(), "%sValue 'name' must be a string\n", prefix)) return false;
+ if (!READER_CHECK(value.HasMember("author"), "%sMust have string value 'author'\n", prefix)) return false;
+ if (!READER_CHECK(value["author"].IsString(), "%sValue 'author' must be a string\n", prefix)) return false;
+ if (!READER_CHECK(value.HasMember("passes"), "%sMust have array value 'passes'\n", prefix)) return false;
+ if (!READER_CHECK(value["passes"].IsArray(), "%sValue 'passes' must be an array\n", prefix)) return false;
+ if (!READER_CHECK(!value.HasMember("sliders") || value["sliders"].IsArray(), "%sValue 'sliders' must be an array\n", prefix)) return false;
+ if (!READER_CHECK(!value.HasMember("parameters") || value["parameters"].IsArray(), "%sValue 'parameters' must be an array\n", prefix)) return false;
+ if (!READER_CHECK(!value.HasMember("targets") || value["targets"].IsArray(), "%sValue 'targets' must be an array\n", prefix)) return false;
return true;
}