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
struct MappingCallback {
std::function<void(MappingData)> on_data;
std::function<void(const MappingData&)> on_data;
};
// Input Identifier of data source

4
src/input_common/main.cpp

@ -27,7 +27,7 @@ namespace InputCommon {
struct InputSubsystem::Impl {
void Initialize() {
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->SetMappingCallback(mapping_callback);
@ -284,7 +284,7 @@ struct InputSubsystem::Impl {
#endif
}
void RegisterInput(MappingData data) {
void RegisterInput(const MappingData& data) {
mapping_factory->RegisterInput(data);
}

Loading…
Cancel
Save