// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include #include #include namespace UE::StylusInput::Private { class FStylusInputImpl; } namespace UE::StylusInput::Mac { class FMacInstance; class FMacInterface : public IStylusInputInterface { public: virtual FName GetName() const override; virtual IStylusInputInstance* CreateInstance(SWindow& Window) override; virtual bool ReleaseInstance(IStylusInputInstance* Instance) override; private: friend class FStylusInputMacModule; static TUniquePtr Create(); struct FRefCountedInstance { TUniquePtr Instance; int32 RefCount; }; TMap Instances; uint32 NextInstanceID = 0; }; }