Files
UnrealEngineUWP/Engine/Source/Editor/AnimationBlueprintEditor/Private/AnimationStateNodes/SGraphNodeAnimTransition.h
ryan durand 627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00

57 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Styling/SlateColor.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SWidget.h"
#include "SNodePanel.h"
#include "SGraphNode.h"
class SToolTip;
class UAnimStateTransitionNode;
class SGraphNodeAnimTransition : public SGraphNode
{
public:
SLATE_BEGIN_ARGS(SGraphNodeAnimTransition){}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, UAnimStateTransitionNode* InNode);
// SNodePanel::SNode interface
virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray<FGraphInformationPopupInfo>& Popups) const override;
virtual void MoveTo(const FVector2D& NewPosition, FNodeSet& NodeFilter) override;
virtual bool RequiresSecondPassLayout() const override;
virtual void PerformSecondPassLayout(const TMap< UObject*, TSharedRef<SNode> >& NodeToWidgetLookup) const override;
// End of SNodePanel::SNode interface
// SGraphNode interface
virtual void UpdateGraphNode() override;
virtual TSharedPtr<SToolTip> 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
// Calculate position for multiple nodes to be placed between a start and end point, by providing this nodes index and max expected nodes
void PositionBetweenTwoNodesWithOffset(const FGeometry& StartGeom, const FGeometry& EndGeom, int32 NodeIndex, int32 MaxNodes) const;
static FLinearColor StaticGetTransitionColor(UAnimStateTransitionNode* TransNode, bool bIsHovered);
private:
TSharedPtr<STextEntryPopup> TextEntryWidget;
private:
FText GetPreviewCornerText(bool reverse) const;
FSlateColor GetTransitionColor() const;
const FSlateBrush* GetTransitionIconImage() const;
TSharedRef<SWidget> GenerateInlineDisplayOrEditingWidget(bool bShowGraphPreview);
TSharedRef<SWidget> GenerateRichTooltip();
FString GetCurrentDuration() const;
};