#pragma once

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

// Package: OpenColorIO

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "OpenColorIO_structs.hpp"
#include "DeveloperSettings_classes.hpp"
#include "Engine_classes.hpp"


SDK_NAMESPACE_START

// Class OpenColorIO.OpenColorIOSettings
// 0x0008 (0x0040 - 0x0038)
class UOpenColorIOSettings final : public UDeveloperSettings
{
public:
	uint8                                         bUseLegacyProcessor : 1;                           // 0x0038(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bUse32fLUT : 1;                                    // 0x0038(0x0001)(BitIndex: 0x01, PropSize: 0x0001 (Edit, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         bSupportInverseViewTransforms : 1;                 // 0x0038(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, Config, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOSettings")
	}
	static class UOpenColorIOSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOSettings>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOSettings;

// Class OpenColorIO.OpenColorIOBlueprintLibrary
// 0x0000 (0x0028 - 0x0028)
class UOpenColorIOBlueprintLibrary final : public UBlueprintFunctionLibrary
{
public:
	static bool ApplyColorSpaceTransform(const class UObject* WorldContextObject, const struct FOpenColorIOColorConversionSettings& ConversionSettings, class UTexture* InputTexture, class UTextureRenderTarget2D* OutputRenderTarget);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOBlueprintLibrary")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOBlueprintLibrary")
	}
	static class UOpenColorIOBlueprintLibrary* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOBlueprintLibrary>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOBlueprintLibrary;

// Class OpenColorIO.OpenColorIOColorTransform
// 0x00A0 (0x00C8 - 0x0028)
class UOpenColorIOColorTransform final : public UObject
{
public:
	bool                                          bIsDisplayViewType;                                // 0x0028(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 SourceColorSpace;                                  // 0x0030(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 DestinationColorSpace;                             // 0x0040(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 Display;                                           // 0x0050(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 View;                                              // 0x0060(0x0010)(Edit, ZeroConstructor, EditConst, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EOpenColorIOViewTransformDirection            DisplayViewDirection;                              // 0x0070(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_71[0x7];                                       // 0x0071(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UTexture*>                       LookupTextures;                                    // 0x0078(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_88[0x40];                                      // 0x0088(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOColorTransform")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOColorTransform")
	}
	static class UOpenColorIOColorTransform* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOColorTransform>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOColorTransform;

// Class OpenColorIO.OpenColorIOConfiguration
// 0x00D0 (0x00F8 - 0x0028)
class UOpenColorIOConfiguration final : public UObject
{
public:
	struct FFilePath                              ConfigurationFile;                                 // 0x0028(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FOpenColorIOColorSpace>         DesiredColorSpaces;                                // 0x0038(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FOpenColorIODisplayView>        DesiredDisplayViews;                               // 0x0048(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TMap<class FString, class FString>            Context;                                           // 0x0058(0x0050)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TArray<class UOpenColorIOColorTransform*>     ColorTransforms;                                   // 0x00A8(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_B8[0x30];                                      // 0x00B8(0x0030)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 ConfigHash;                                        // 0x00E8(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)

public:
	void ReloadExistingColorspaces(bool bForce);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIOConfiguration")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIOConfiguration")
	}
	static class UOpenColorIOConfiguration* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIOConfiguration>();
	}
};
DUMPER7_ASSERTS_UOpenColorIOConfiguration;

// Class OpenColorIO.OpenColorIODisplayExtensionWrapper
// 0x0010 (0x0038 - 0x0028)
class UOpenColorIODisplayExtensionWrapper final : public UObject
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UOpenColorIODisplayExtensionWrapper* CreateInGameOpenColorIODisplayExtension(const struct FOpenColorIODisplayConfiguration& InDisplayConfiguration);
	static class UOpenColorIODisplayExtensionWrapper* CreateOpenColorIODisplayExtension(const struct FOpenColorIODisplayConfiguration& InDisplayConfiguration, const struct FSceneViewExtensionIsActiveFunctor& IsActiveFunction);

	void RemoveSceneExtension();
	void SetOpenColorIOConfiguration(const struct FOpenColorIODisplayConfiguration& InDisplayConfiguration);
	void SetSceneExtensionIsActiveFunction(const struct FSceneViewExtensionIsActiveFunctor& IsActiveFunction);
	void SetSceneExtensionIsActiveFunctions(const TArray<struct FSceneViewExtensionIsActiveFunctor>& IsActiveFunctions);

	struct FOpenColorIODisplayConfiguration GetOpenColorIOConfiguration() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OpenColorIODisplayExtensionWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OpenColorIODisplayExtensionWrapper")
	}
	static class UOpenColorIODisplayExtensionWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOpenColorIODisplayExtensionWrapper>();
	}
};
DUMPER7_ASSERTS_UOpenColorIODisplayExtensionWrapper;

SDK_NAMESPACE_END
