// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "AssetDefinition.h" #include "CoreMinimal.h" #include "PropertyPath.h" #include "Widgets/SWidget.h" class UMaterialInterface; class SMaterialEditorUIPreviewViewport; class SMaterialEditor3DPreviewViewport; class UMaterial; class UMaterialExpression; class UMaterialInstance; struct FRevisionInfo; /** Panel used to display the MaterialInstance */ struct FMaterialInstanceDiffPanel : public FGCObject { void SetViewportToDisplay(); TSharedRef GetViewportToDisplay() const; void SetPreviewExpression(UMaterialExpression* NewPreviewExpression); void SetPreviewMaterial(UMaterialInterface* InMaterialInterface) const; void UpdatePreviewMaterial() const; TSharedPtr Preview3DViewport; TSharedPtr Preview2DViewport; TObjectPtr ExpressionPreviewMaterial = nullptr; TObjectPtr PreviewExpression = nullptr; TObjectPtr MaterialInstance = nullptr; /** Revision information for this MaterialInstance */ FRevisionInfo RevisionInfo; // Begin FGCObject interface virtual void AddReferencedObjects(FReferenceCollector& Collector) override; virtual FString GetReferencerName() const override; // End FGCObject interface };