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