forked from eden-emu/eden
		
	input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange()
Copies the BasicMotion instance once instead of twice.
This commit is contained in:
		
							parent
							
								
									e0e9f98fc6
								
							
						
					
					
						commit
						190cfc5997
					
				
					 3 changed files with 7 additions and 6 deletions
				
			
		|  | @ -88,7 +88,7 @@ public: | |||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|     BasicMotion GetMotion() { | ||||
|     const BasicMotion& GetMotion() const { | ||||
|         return motion; | ||||
|     } | ||||
| 
 | ||||
|  | @ -367,7 +367,7 @@ void SDLDriver::HandleGameControllerEvent(const SDL_Event& event) { | |||
|             if (joystick->UpdateMotion(event.csensor)) { | ||||
|                 const PadIdentifier identifier = joystick->GetPadIdentifier(); | ||||
|                 SetMotion(identifier, 0, joystick->GetMotion()); | ||||
|             }; | ||||
|             } | ||||
|         } | ||||
|         break; | ||||
|     } | ||||
|  |  | |||
|  | @ -91,7 +91,7 @@ void InputEngine::SetBattery(const PadIdentifier& identifier, BatteryLevel value | |||
|     TriggerOnBatteryChange(identifier, value); | ||||
| } | ||||
| 
 | ||||
| void InputEngine::SetMotion(const PadIdentifier& identifier, int motion, BasicMotion value) { | ||||
| void InputEngine::SetMotion(const PadIdentifier& identifier, int motion, const BasicMotion& value) { | ||||
|     { | ||||
|         std::lock_guard lock{mutex}; | ||||
|         ControllerData& controller = controller_list.at(identifier); | ||||
|  | @ -286,7 +286,7 @@ void InputEngine::TriggerOnBatteryChange(const PadIdentifier& identifier, | |||
| } | ||||
| 
 | ||||
| void InputEngine::TriggerOnMotionChange(const PadIdentifier& identifier, int motion, | ||||
|                                         BasicMotion value) { | ||||
|                                         const BasicMotion& value) { | ||||
|     std::lock_guard lock{mutex_callback}; | ||||
|     for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { | ||||
|         const InputIdentifier& poller = poller_pair.second; | ||||
|  |  | |||
|  | @ -190,7 +190,7 @@ protected: | |||
|     void SetHatButton(const PadIdentifier& identifier, int button, u8 value); | ||||
|     void SetAxis(const PadIdentifier& identifier, int axis, f32 value); | ||||
|     void SetBattery(const PadIdentifier& identifier, BatteryLevel value); | ||||
|     void SetMotion(const PadIdentifier& identifier, int motion, BasicMotion value); | ||||
|     void SetMotion(const PadIdentifier& identifier, int motion, const BasicMotion& value); | ||||
| 
 | ||||
|     virtual std::string GetHatButtonName([[maybe_unused]] u8 direction_value) const { | ||||
|         return "Unknown"; | ||||
|  | @ -209,7 +209,8 @@ private: | |||
|     void TriggerOnHatButtonChange(const PadIdentifier& identifier, int button, u8 value); | ||||
|     void TriggerOnAxisChange(const PadIdentifier& identifier, int button, f32 value); | ||||
|     void TriggerOnBatteryChange(const PadIdentifier& identifier, BatteryLevel value); | ||||
|     void TriggerOnMotionChange(const PadIdentifier& identifier, int motion, BasicMotion value); | ||||
|     void TriggerOnMotionChange(const PadIdentifier& identifier, int motion, | ||||
|                                const BasicMotion& value); | ||||
| 
 | ||||
|     bool IsInputIdentifierEqual(const InputIdentifier& input_identifier, | ||||
|                                 const PadIdentifier& identifier, EngineInputType type, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash