// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/Array.h" #include "CurveEditorScreenSpace.h" #include "HAL/Platform.h" #include "Math/Vector2D.h" #include "Misc/Optional.h" class FText; struct FCurveEditorScreenSpace; namespace CurveEditor { CURVEEDITOR_API FVector2D ComputeScreenSpaceTangentOffset(const FCurveEditorScreenSpace& CurveSpace, float Tangent, float Weight); void TangentAndWeightFromOffset(const FCurveEditorScreenSpace& CurveSpace, const FVector2D& TangentOffset, float& OutTangent, float& OutWeight); CURVEEDITOR_API FVector2D GetVectorFromSlopeAndLength(float Slope, float Length); void PopulateGridLineValues(float PhysicalSize, double ViewMin, double ViewMax, uint8 InMinorDivisions, TArray& OutMajorGridLines, TArray& OutMinorGridLines); void ConstructYGridLines(const FCurveEditorScreenSpace& ViewSpace, uint8 InMinorDivisions, TArray& OutMajorGridLines, TArray& OutMinorGridLines, FText GridLineLabelFormatY, TArray* OutMajorGridLabels); void ConstructFixedYGridLines(const FCurveEditorScreenSpace& ViewSpace, uint8 InMinorDivisions, double InMinorGridStep, TArray& OutMajorGridLines, TArray& OutMinorGridLines, FText GridLineLabelFormatY, TArray* OutMajorGridLabels, TOptional InOutputMin, TOptional InOutputMax); } // namespace CurveEditor