#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: SlateRHIRenderer

#include "Basic.hpp"

#include "SlateRHIRenderer_classes.hpp"
#include "SlateRHIRenderer_parameters.hpp"


SDK_NAMESPACE_START

// Function SlateRHIRenderer.SlateFXSubsystem.GetSlatePostProcessor
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// ESlatePostRT                            InPostBufferBit                                        (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// class USlateRHIPostBufferProcessor*     ReturnValue                                            (Parm, OutParm, ZeroConstructor, ReturnParm, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class USlateRHIPostBufferProcessor* USlateFXSubsystem::GetSlatePostProcessor(ESlatePostRT InPostBufferBit)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("SlateFXSubsystem", "GetSlatePostProcessor");

	Params::SlateFXSubsystem_GetSlatePostProcessor Parms{};

	Parms.InPostBufferBit = InPostBufferBit;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function SlateRHIRenderer.SlateRHIRendererSettings.GetMutableSlatePostSetting
// (Final, RequiredAPI, Native, Public, BlueprintCallable)
// Parameters:
// ESlatePostRT                            InPostBufferBit                                        (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// struct FSlatePostSettings               ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

struct FSlatePostSettings USlateRHIRendererSettings::GetMutableSlatePostSetting(ESlatePostRT InPostBufferBit)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("SlateRHIRendererSettings", "GetMutableSlatePostSetting");

	Params::SlateRHIRendererSettings_GetMutableSlatePostSetting Parms{};

	Parms.InPostBufferBit = InPostBufferBit;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function SlateRHIRenderer.SlateRHIRendererSettings.GetSlatePostSetting
// (Final, RequiredAPI, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// ESlatePostRT                            InPostBufferBit                                        (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FSlatePostSettings         ReturnValue                                            (ConstParm, Parm, OutParm, ReturnParm, ReferenceParm, NativeAccessSpecifierPublic)

const struct FSlatePostSettings USlateRHIRendererSettings::GetSlatePostSetting(ESlatePostRT InPostBufferBit) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("SlateRHIRendererSettings", "GetSlatePostSetting");

	Params::SlateRHIRendererSettings_GetSlatePostSetting Parms{};

	Parms.InPostBufferBit = InPostBufferBit;

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


SDK_NAMESPACE_END
