Files
UnrealEngineUWP/Engine/Source/Editor/HardwareTargeting/Public/HardwareTargetingModule.h
Ben Marsh 7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00

49 lines
1.6 KiB
C++

// Copyright 1998-2019 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"
class SWidget;
DECLARE_DELEGATE_OneParam(FOnHardwareClassChanged, EHardwareClass::Type)
DECLARE_DELEGATE_OneParam(FOnGraphicsPresetChanged, EGraphicsPreset::Type)
/** 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::Type> SelectedEnum) = 0;
/** Make a new combo box for choosing a graphics preference */
virtual TSharedRef<SWidget> MakeGraphicsPresetTargetCombo(FOnGraphicsPresetChanged OnChanged, TAttribute<EGraphicsPreset::Type> SelectedEnum) = 0;
};