LeviLamina
Loading...
Searching...
No Matches
InputHandler Class Reference

Classes

struct  InputHandlerState
 

Public Types

using InputModeHandler = ::std::function<void(::InputMode, ::IClientInstance&)>
 
using ButtonPressHandler = ::std::function<void(::FocusImpact, ::IClientInstance&)>
 
using TextCharHandler = ::std::function<void(::std::string const&, bool, ::FocusImpact, ::IClientInstance&)>
 
using CaretLocationHandler = ::std::function<void(int, ::FocusImpact, ::IClientInstance&)>
 
using PointerLocationHandler
 
using PointerLocationWithIdHandler
 
using ClearPointerLocationWithIdHandler
 
using ClearPointerLocationsHandler = ::std::function<void(::IClientInstance&)>
 
using DirectionHandler = ::std::function<void(float, float, ::FocusImpact, ::IClientInstance&)>
 
using TurnHandler = ::std::function<void(float, float, ::FocusImpact, ::IClientInstance&)>
 
using VectorHandler = ::std::function<void(short, float, float, float, ::FocusImpact, ::IClientInstance&)>
 
using AnyInputHandler = ::std::function<void(::IClientInstance&)>
 
using RawInputHandler = ::std::function<void(int, ::RawInputType, ::ButtonState, bool, ::IClientInstance&)>
 
using AddClientHandler = ::std::function<void(::IMinecraftGame*, int, bool)>
 
using ChangeUserHandler = ::std::function<void(::IMinecraftGame*, int, bool)>
 
using ControllerConnectionStateChangeHandler = ::std::function<void(::IClientInstance&, bool, int)>
 
using TouchPadTouchHandler
 
using ControlOptionHandler = ::std::function<void(::ControlOptionEventData const&, ::IClientInstance&)>
 
using NumberOfEnabledControlOptionsHandler
 
using OverlappingControlsHandler = ::std::function<void(::OverlappingControlsEventData const&, ::IClientInstance&)>
 
using PotentialOverlappingControlsHandler = ::std::function<void(::IClientInstance&)>
 
using InputModeHandlers = ::std::vector<::std::function<void(::InputMode, ::IClientInstance&)>>
 
using ButtonHandlerMap
 
using TextCharHandlers
 
using CaretLocationHandlers = ::std::vector<::std::function<void(int, ::FocusImpact, ::IClientInstance&)>>
 
using PointerLocationHandlers
 
using PointerLocationWithIdHandlers
 
using ClearPointerLocationWithIdHandlers
 
using ClearPointerLocationsHandlers = ::std::vector<::std::function<void(::IClientInstance&)>>
 
using DirectionHandlerMap
 
using VectorHandlers
 
using TouchPadHandlers
 
using PointerLocationWithIdHandlersMap
 
using ControlOptionHandlers
 
using NumberOfEnabledControlOptionsHandlers
 
using OverlappingControlsHandlers
 
using PotentialOverlappingControlsHandlers = ::std::vector<::std::function<void(::IClientInstance&)>>
 

Public Member Functions

InputHandleroperator= (InputHandler const &)
 
 InputHandler (InputHandler const &)
 
MCAPI InputHandler (::BindingFactoryMap &bindingFactoryMap, ::InputMappingFactoryMap &mappingFactoryMap, ::InputMode startingInputMode)
 
MCAPI void _handleButtonEvent (::ButtonEventData const &button, ::FocusImpact focusImpact, ::IClientInstance &client, int controllerId)
 
MCAPI void _handleMappingChange (::InputMapping const *newMapping, ::InputMapping const *oldMapping, int controllerId)
 
MCAPI void _handleTextCharEvent (::TextCharEventData const &textChar, ::FocusImpact focusImpact, ::IClientInstance &client)
 
MCAPI void changeControllerId (int oldId, int newId)
 
MCAPI void clearInputMapping (int controllerId)
 
MCAPI::std::string const & getCurrentInputMapping (int controllerId) const
 
MCAPI::InputMode getCurrentInputMode (int controllerId) const
 
MCAPI void popInputMapping (int controllerId)
 
MCAPI void pushInputMapping (::std::string const &mappingName, int controllerId)
 
MCAPI void registerButtonDownHandler (::std::string buttonName, ::std::function< void(::FocusImpact, ::IClientInstance &)> handler, bool suspendable)
 
MCAPI void registerButtonUpHandler (::std::string buttonName, ::std::function< void(::FocusImpact, ::IClientInstance &)> handler, bool suspendable)
 
MCAPI void registerClearPointerLocationsHandler (::std::function< void(::IClientInstance &)> handler)
 
MCAPI void registerDirectionHandler (::DirectionId directionId, ::std::function< void(float, float, ::FocusImpact, ::IClientInstance &)> handler)
 
MCAPI void registerInputModeHandler (::std::function< void(::InputMode, ::IClientInstance &)> handler)
 
MCAPI void registerOverlappingControlsHandler (::std::function< void(::OverlappingControlsEventData const &, ::IClientInstance &)> handler)
 
MCAPI void registerPotentialOverlappingControlsHandler (::std::function< void(::IClientInstance &)> handler)
 
MCAPI void registerTouchPadTouchHandler (::std::function< void(::TouchPadTouchEventData const &, ::FocusImpact, ::IClientInstance &)> handler)
 
MCAPI void releaseButtonsAndSticks (::std::string const &currentMappingName, int controllerId)
 
MCAPI void tick (::IMinecraftGame *mcGame, ::IClientInstance &primaryClientInstance, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > const &controllerClientMap, bool allowMultipleClients)
 
MCAPI void updateInputMapping (::std::string const &mappingName, int controllerId)
 
MCAPI void * $ctor (::BindingFactoryMap &bindingFactoryMap, ::InputMappingFactoryMap &mappingFactoryMap, ::InputMode startingInputMode)
 
MCAPI void $dtor ()
 

Public Attributes

::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::InputMode, ::IClientInstance &)> > > mInputModeHandlers
 
::ll::TypedStorage< 8, 16, ::std::multimap< uint, ::std::pair< bool, ::std::function< void(::FocusImpact, ::IClientInstance &)> > > > mButtonDownHandlerMap
 
::ll::TypedStorage< 8, 16, ::std::multimap< uint, ::std::pair< bool, ::std::function< void(::FocusImpact, ::IClientInstance &)> > > > mButtonUpHandlerMap
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::std::string const &, bool, ::FocusImpact, ::IClientInstance &)> > > mTextCharHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(int, ::FocusImpact, ::IClientInstance &)> > > mCaretLocationHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::PointerLocationEventData const &, ::FocusImpact, ::IClientInstance &)> > > mPointerLocationHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::PointerLocationWithIdEventData const &, ::IClientInstance &)> > > mPointerLocationWithIdHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::ClearPointerLocationWithIdEventData const &, ::IClientInstance &)> > > mClearPointerLocationWithIdHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::IClientInstance &)> > > mClearPointerLocationsHandlers
 
::ll::TypedStorage< 8, 16, ::std::multimap<::DirectionId, ::std::function< void(float, float, ::FocusImpact, ::IClientInstance &)> > > mDirectionHandlerMap
 
::ll::TypedStorage< 8, 64, ::std::function< void(::IClientInstance &)> > mAnyInputHandler
 
::ll::TypedStorage< 8, 64, ::std::function< void(int, ::RawInputType, ::ButtonState, bool, ::IClientInstance &)> > mRawInputHandler
 
::ll::TypedStorage< 8, 64, ::std::function< void(::IMinecraftGame *, int, bool)> > mAddClientHandler
 
::ll::TypedStorage< 8, 64, ::std::function< void(::IMinecraftGame *, int, bool)> > mChangeUserHandler
 
::ll::TypedStorage< 8, 64, ::std::function< void(::IClientInstance &, bool, int)> > mControllerConnectionStateChangeHandler
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::TouchPadTouchEventData const &, ::FocusImpact, ::IClientInstance &)> > > mTouchPadHandlers
 
::ll::TypedStorage< 8, 16, ::std::map< uint, ::std::function< void(::PointerLocationWithIdEventData const &, ::IClientInstance &)> > > mCustomZoneHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::ControlOptionEventData const &, ::IClientInstance &)> > > mControlOptionHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::NumberOfEnabledControlOptionsEventData const &, ::IClientInstance &)> > > mNumberOfEnabledControlOptionsHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::OverlappingControlsEventData const &, ::IClientInstance &)> > > mOverlappingControlsHandlers
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::function< void(::IClientInstance &)> > > mPotentialOverlappingControlsHandlers
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::InputEventQueue > > mInputEventQueue
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::ButtonChordTracker > > mChordTracker
 
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::ButtonRepeater > > mButtonRepeater
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::unique_ptr<::InputDeviceMapper > > > mInputDeviceMappers
 
::ll::TypedStorage< 8, 8, ::BindingFactoryMap & > mBindingFactoryMap
 
::ll::TypedStorage< 8, 8, ::InputMappingFactoryMap & > mInputMappingFactoryMap
 
::ll::TypedStorage< 8, 64, ::std::unordered_map< int, ::InputHandler::InputHandlerState > > mPerIdState
 
::ll::TypedStorage< 4, 4, int > mPrimaryGameControllerId
 

Member Typedef Documentation

◆ PointerLocationHandler

using InputHandler::PointerLocationHandler
Initial value:
::std::function<void(::PointerLocationEventData const&, ::FocusImpact, ::IClientInstance&)>

◆ PointerLocationWithIdHandler

using InputHandler::PointerLocationWithIdHandler
Initial value:
::std::function<void(::PointerLocationWithIdEventData const&, ::IClientInstance&)>
Definition PointerLocationWithIdEventData.h:5

◆ ClearPointerLocationWithIdHandler

using InputHandler::ClearPointerLocationWithIdHandler
Initial value:
::std::function<void(::ClearPointerLocationWithIdEventData const&, ::IClientInstance&)>
Definition ClearPointerLocationWithIdEventData.h:5

◆ TouchPadTouchHandler

using InputHandler::TouchPadTouchHandler
Initial value:
::std::function<void(::TouchPadTouchEventData const&, ::FocusImpact, ::IClientInstance&)>
Definition TouchPadTouchEventData.h:5

◆ NumberOfEnabledControlOptionsHandler

using InputHandler::NumberOfEnabledControlOptionsHandler
Initial value:
::std::function<void(::NumberOfEnabledControlOptionsEventData const&, ::IClientInstance&)>
Definition NumberOfEnabledControlOptionsEventData.h:5

◆ ButtonHandlerMap

using InputHandler::ButtonHandlerMap
Initial value:
::std::multimap<uint, ::std::pair<bool, ::std::function<void(::FocusImpact, ::IClientInstance&)>>>

◆ TextCharHandlers

using InputHandler::TextCharHandlers
Initial value:
::std::vector<::std::function<void(::std::string const&, bool, ::FocusImpact, ::IClientInstance&)>>

◆ PointerLocationHandlers

using InputHandler::PointerLocationHandlers
Initial value:
::std::vector<::std::function<void(::PointerLocationEventData const&, ::FocusImpact, ::IClientInstance&)>>

◆ PointerLocationWithIdHandlers

using InputHandler::PointerLocationWithIdHandlers
Initial value:
::std::vector<::std::function<void(::PointerLocationWithIdEventData const&, ::IClientInstance&)>>

◆ ClearPointerLocationWithIdHandlers

using InputHandler::ClearPointerLocationWithIdHandlers
Initial value:
::std::vector<::std::function<void(::ClearPointerLocationWithIdEventData const&, ::IClientInstance&)>>

◆ DirectionHandlerMap

using InputHandler::DirectionHandlerMap
Initial value:
::std::multimap<::DirectionId, ::std::function<void(float, float, ::FocusImpact, ::IClientInstance&)>>

◆ VectorHandlers

using InputHandler::VectorHandlers
Initial value:
::std::vector<::std::function<void(short, float, float, float, ::FocusImpact, ::IClientInstance&)>>

◆ TouchPadHandlers

using InputHandler::TouchPadHandlers
Initial value:
::std::vector<::std::function<void(::TouchPadTouchEventData const&, ::FocusImpact, ::IClientInstance&)>>

◆ PointerLocationWithIdHandlersMap

using InputHandler::PointerLocationWithIdHandlersMap
Initial value:
::std::map<uint, ::std::function<void(::PointerLocationWithIdEventData const&, ::IClientInstance&)>>

◆ ControlOptionHandlers

using InputHandler::ControlOptionHandlers
Initial value:
::std::vector<::std::function<void(::ControlOptionEventData const&, ::IClientInstance&)>>
Definition ControlOptionEventData.h:5

◆ NumberOfEnabledControlOptionsHandlers

using InputHandler::NumberOfEnabledControlOptionsHandlers
Initial value:
::std::vector<::std::function<void(::NumberOfEnabledControlOptionsEventData const&, ::IClientInstance&)>>

◆ OverlappingControlsHandlers

using InputHandler::OverlappingControlsHandlers
Initial value:
::std::vector<::std::function<void(::OverlappingControlsEventData const&, ::IClientInstance&)>>
Definition OverlappingControlsEventData.h:5

The documentation for this class was generated from the following files: