// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/Array.h" #include "Internationalization/Text.h" #include "Math/Color.h" #include "SGraphNode.h" #include "Styling/SlateColor.h" #include "Templates/SharedPointer.h" #include "Widgets/DeclarativeSyntaxSupport.h" class SGraphPin; class SToolTip; class UAnimStateConduitNode; class UAnimStateNodeBase; class UEdGraphNode; struct FGeometry; struct FGraphInformationPopupInfo; struct FNodeInfoContext; struct FPointerEvent; struct FSlateBrush; class SGraphNodeAnimState : public SGraphNode { public: SLATE_BEGIN_ARGS(SGraphNodeAnimState){} SLATE_END_ARGS() void Construct(const FArguments& InArgs, UAnimStateNodeBase* InNode); // SNodePanel::SNode interface virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray& Popups) const override; // End of SNodePanel::SNode interface // SGraphNode interface virtual void UpdateGraphNode() override; virtual void CreatePinWidgets() override; virtual void AddPin(const TSharedRef& PinToAdd) override; virtual TSharedPtr GetComplexTooltip() override; // End of SGraphNode interface // SWidget interface void OnMouseEnter(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override; void OnMouseLeave(const FPointerEvent& MouseEvent) override; // End of SWidget interface static void GetStateInfoPopup(UEdGraphNode* GraphNode, TArray& Popups); protected: FSlateColor GetBorderBackgroundColor() const; virtual FSlateColor GetBorderBackgroundColor_Internal(FLinearColor InactiveStateColor, FLinearColor ActiveStateColorDim, FLinearColor ActiveStateColorBright) const; virtual FText GetPreviewCornerText() const; virtual const FSlateBrush* GetNameIcon() const; }; class SGraphNodeAnimConduit : public SGraphNodeAnimState { public: SLATE_BEGIN_ARGS(SGraphNodeAnimConduit){} SLATE_END_ARGS() void Construct(const FArguments& InArgs, UAnimStateConduitNode* InNode); // SNodePanel::SNode interface virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray& Popups) const override; // End of SNodePanel::SNode interface protected: virtual FSlateColor GetBorderBackgroundColor_Internal(FLinearColor InactiveStateColor, FLinearColor ActiveStateColorDim, FLinearColor ActiveStateColorBright) const override; virtual FText GetPreviewCornerText() const override; virtual const FSlateBrush* GetNameIcon() const override; };