// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "ISlateFontDialogModule.h" #include "Fonts/SlateFontInfo.h" #include "Widgets/Input/STextComboBox.h" #include #define LOCTEXT_NAMESPACE "SlateFontDialogNamespace" class FSlateFontDlgWindow { private: TSharedPtr Window; TSharedPtr SelectedFont; TArray> FontList; TSharedPtr SelectedTypeface; TArray> SelectedTypefaceList; TMap>> TypefaceList; TSharedPtr TypefaceDropdown; TSharedPtr SampleTextBlock; TSharedPtr ColorIconText; FTextBlockStyle SampleTextStyle; const uint8 SampleTextSize = 36; uint8 FontSize = SampleTextSize; FLinearColor FontColor = FLinearColor::White; FcFontSet* FontSet; FSlateFontInfo GetSampleFont() const; void LoadFonts(); FReply OpenColorPicker(); public: FSlateFontDlgWindow(bool& OutSuccess); void OpenFontWindow(FString& OutFontName, float& OutHeight, EFontImportFlags& OutFlags, bool& OutSuccess); }; #undef LOCTEXT_NAMESPACE