using Firebird2D.Datatypes; using Firebird2D.EventPipelines.EventArguments; using Firebird2D.Interfaces; using SFML.Window; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Text.Json; using System.Threading.Tasks; namespace Firebird2D.DataypesAndInterfaces.Interfaces { public interface IKeyMapper { void RegisterEvent(string EventName, EventHandler handler, FirebirdSystemEventIds eventNumber) where T : EventArgs; void Map(string EventName, FirebirdSystemEventIds eventNumber); void SaveMapping(string Path); void LoadMapping(string Path); void InvalidatePipelineCache(FirebirdSystemEventIds fbEvent); void HandleKeyboardInput(KeyEvent key, InputEventType type); void HandleMouseInput(MouseButtonEvent button, InputEventType type); void HandleJoystickButtonInput(JoystickButtonEvent joystickButton, InputEventType type); void HandleMouseMovement(MouseMoveEvent mouseMove); public void HandleJoytickMove(JoystickMoveEvent joystickMove); } }