Files
UnrealEngineUWP/Engine/Source/Editor/HardwareTargeting/Public/HardwareTargetingModule.h
matt kuhlenschmidt 9e3deb7716 Project dialog reskin
#jira UETOOL-2465

#ROBOMERGE-SOURCE: CL 15366173 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15368932 by matt kuhlenschmidt in ue5-main branch]
2021-02-09 15:02:56 -04:00

50 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Misc/Attribute.h"
#include "UObject/WeakObjectPtr.h"
#include "Modules/ModuleInterface.h"
#include "HardwareTargetingSettings.h"
#include "Types/SlateEnums.h"
class SWidget;
DECLARE_DELEGATE_OneParam(FOnHardwareClassChanged, EHardwareClass)
DECLARE_DELEGATE_OneParam(FOnGraphicsPresetChanged, EGraphicsPreset)
/** Struct specifying pending changes to a settings object */
struct FModifiedDefaultConfig
{
/** The settings object to which the description relates */
TWeakObjectPtr<UObject> SettingsObject;
/** Heading describing the name of the category */
FText CategoryHeading;
/** Text describing the pending changes to the settings */
FText Description;
};
class IHardwareTargetingModule : public IModuleInterface
{
public:
/** Singleton access to this module */
HARDWARETARGETING_API static IHardwareTargetingModule& Get();
/** Apply the current hardware targeting settings if they have changed */
virtual void ApplyHardwareTargetingSettings() = 0;
/** Gets a list of objects that are required to be writable in order to apply the settings */
virtual TArray<FModifiedDefaultConfig> GetPendingSettingsChanges() = 0;
/** Make a new combo box for choosing a hardware class target */
virtual TSharedRef<SWidget> MakeHardwareClassTargetCombo(FOnHardwareClassChanged OnChanged, TAttribute<EHardwareClass> SelectedEnum) = 0;
/** Make a new combo box for choosing a graphics preference */
virtual TSharedRef<SWidget> MakeGraphicsPresetTargetCombo(FOnGraphicsPresetChanged OnChanged, TAttribute<EGraphicsPreset> SelectedEnum) = 0;
};