Browse Source

input_common/main: Pass MappingData by const reference in callbacks

Avoids creating unnecessary 168 byte copies per callback invocation.
nce_cpp
Lioncash 4 years ago
parent
commit
1bd76dcb77
  1. 2
      src/input_common/input_engine.h
  2. 4
      src/input_common/main.cpp

2
src/input_common/input_engine.h

@ -89,7 +89,7 @@ struct UpdateCallback {
// Triggered if data changed on the controller and the engine is on configuring mode // Triggered if data changed on the controller and the engine is on configuring mode
struct MappingCallback { struct MappingCallback {
std::function<void(MappingData)> on_data;
std::function<void(const MappingData&)> on_data;
}; };
// Input Identifier of data source // Input Identifier of data source

4
src/input_common/main.cpp

@ -27,7 +27,7 @@ namespace InputCommon {
struct InputSubsystem::Impl { struct InputSubsystem::Impl {
void Initialize() { void Initialize() {
mapping_factory = std::make_shared<MappingFactory>(); mapping_factory = std::make_shared<MappingFactory>();
MappingCallback mapping_callback{[this](MappingData data) { RegisterInput(data); }};
MappingCallback mapping_callback{[this](const MappingData& data) { RegisterInput(data); }};
keyboard = std::make_shared<Keyboard>("keyboard"); keyboard = std::make_shared<Keyboard>("keyboard");
keyboard->SetMappingCallback(mapping_callback); keyboard->SetMappingCallback(mapping_callback);
@ -284,7 +284,7 @@ struct InputSubsystem::Impl {
#endif #endif
} }
void RegisterInput(MappingData data) {
void RegisterInput(const MappingData& data) {
mapping_factory->RegisterInput(data); mapping_factory->RegisterInput(data);
} }

Loading…
Cancel
Save