Files
f0re5t-main/Plugins/ElectronicNodes/Source/ElectronicNodes/Private/Policies/ENAnimGraphConnectionDrawingPolicy.h
2021-11-18 15:24:24 +01:00

38 lines
1.4 KiB
C++

/* Copyright (C) 2021 Hugo ATTAL - All Rights Reserved
* This plugin is downloadable from the UE4 Marketplace
*/
#pragma once
#include "CoreMinimal.h"
#include "AnimGraphConnectionDrawingPolicy.cpp"
#if ENGINE_MAJOR_VERSION == 5
#include "AnimationPins/SGraphPinPose.cpp"
#endif
#include "ENConnectionDrawingPolicy.h"
class FENAnimGraphConnectionDrawingPolicy : public FAnimGraphConnectionDrawingPolicy
{
public:
FENAnimGraphConnectionDrawingPolicy(int32 InBackLayerID, int32 InFrontLayerID, float ZoomFactor, const FSlateRect& InClippingRect, FSlateWindowElementList& InDrawElements, UEdGraph* InGraphObj)
: FAnimGraphConnectionDrawingPolicy(InBackLayerID, InFrontLayerID, ZoomFactor, InClippingRect, InDrawElements, InGraphObj)
{
this->ConnectionDrawingPolicy = new FENConnectionDrawingPolicy(InBackLayerID, InFrontLayerID, ZoomFactor, InClippingRect, InDrawElements, InGraphObj);
}
virtual void DrawConnection(int32 LayerId, const FVector2D& Start, const FVector2D& End, const FConnectionParams& Params) override
{
this->ConnectionDrawingPolicy->SetMousePosition(LocalMousePosition);
this->ConnectionDrawingPolicy->DrawConnection(LayerId, Start, End, Params);
SplineOverlapResult = FGraphSplineOverlapResult(this->ConnectionDrawingPolicy->SplineOverlapResult);
}
~FENAnimGraphConnectionDrawingPolicy()
{
delete ConnectionDrawingPolicy;
}
private:
FENConnectionDrawingPolicy* ConnectionDrawingPolicy;
};