// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "IDetailCustomization.h" #include "Widgets/Text/STextBlock.h" #include "Input/Reply.h" /** UI customization for URuntimeVirtualTexture */ class FRuntimeVirtualTextureDetailsCustomization : public IDetailCustomization { public: static TSharedRef MakeInstance(); protected: FRuntimeVirtualTextureDetailsCustomization(); /** Callback for updating values after and edit. */ void RefreshDetails(); //~ Begin IDetailCustomization Interface. virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; //~ End IDetailCustomization Interface. private: class URuntimeVirtualTexture* VirtualTexture; TSharedPtr SizeText; TSharedPtr TileSizeText; TSharedPtr TileBorderSizeText; TSharedPtr PageTableTextureMemoryText; TSharedPtr PhysicalTextureMemoryText; }; /** UI customization for URuntimeVirtualTextureComponent */ class FRuntimeVirtualTextureComponentDetailsCustomization : public IDetailCustomization { public: static TSharedRef MakeInstance(); protected: FRuntimeVirtualTextureComponentDetailsCustomization(); /** Callback for Copy Rotation button */ FReply SetRotation(); /** Callback for Copy Bounds button */ FReply SetTransformToBounds(); /** Callback for Build button */ FReply BuildStreamedMips(); /** Callback for Build Debug button */ FReply BuildLowMipsDebug(); //~ Begin IDetailCustomization Interface. virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; //~ End IDetailCustomization Interface. private: class URuntimeVirtualTextureComponent* RuntimeVirtualTextureComponent; };