void SColorGradientEditor::DeleteStop( const FGradientStopMark& InMark ) { FScopedTransaction DeleteStopTrans( LOCTEXT("DeleteGradientStop", "Delete Gradient Stop") ); CurveOwner->ModifyOwner(); TArray<FRichCurveEditInfo> Curves = CurveOwner->GetCurves(); FRichCurve* RedCurve = Curves[0].CurveToEdit; FRichCurve* GreenCurve = Curves[1].CurveToEdit; FRichCurve* BlueCurve = Curves[2].CurveToEdit; FRichCurve* AlphaCurve = Curves[3].CurveToEdit; if( InMark.IsValidAlphaMark( Curves ) ) { AlphaCurve->DeleteKey( InMark.AlphaKeyHandle ); } else if( InMark.IsValidColorMark( Curves ) ) { RedCurve->DeleteKey( InMark.RedKeyHandle ); GreenCurve->DeleteKey( InMark.GreenKeyHandle ); BlueCurve->DeleteKey( InMark.BlueKeyHandle ); } }