using System;
using System.Runtime.InteropServices;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000566 RID: 1382
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x170032F5 RID: 13045
		// (get) Token: 0x06009675 RID: 38517 RVA: 0x00269D08 File Offset: 0x00267F08
		// (set) Token: 0x06009676 RID: 38518 RVA: 0x00269D58 File Offset: 0x00267F58
		public unsafe DepthOfFieldModel.Settings settings
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DepthOfFieldModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
			[CallerCount(0)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref value;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DepthOfFieldModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x06009677 RID: 38519 RVA: 0x00269DAC File Offset: 0x00267FAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616533, XrefRangeEnd = 616534, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Reset()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), DepthOfFieldModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009678 RID: 38520 RVA: 0x00269DFC File Offset: 0x00267FFC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 616536, RefRangeEnd = 616537, XrefRangeStart = 616534, XrefRangeEnd = 616536, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe DepthOfFieldModel()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DepthOfFieldModel.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009679 RID: 38521 RVA: 0x00269E48 File Offset: 0x00268048
		// Note: this type is marked as 'beforefieldinit'.
		static DepthOfFieldModel()
		{
			Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityEngine.PostProcessing", "DepthOfFieldModel");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr);
			DepthOfFieldModel.NativeFieldInfoPtr_m_Settings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, "m_Settings");
			DepthOfFieldModel.NativeMethodInfoPtr_get_settings_Public_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100674997);
			DepthOfFieldModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100674998);
			DepthOfFieldModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100674999);
			DepthOfFieldModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100675000);
		}

		// Token: 0x0600967A RID: 38522 RVA: 0x002671A0 File Offset: 0x002653A0
		public DepthOfFieldModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032F4 RID: 13044
		// (get) Token: 0x0600967B RID: 38523 RVA: 0x00269EDC File Offset: 0x002680DC
		// (set) Token: 0x0600967C RID: 38524 RVA: 0x00269F04 File Offset: 0x00268104
		public unsafe DepthOfFieldModel.Settings m_Settings
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(DepthOfFieldModel.NativeFieldInfoPtr_m_Settings);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(DepthOfFieldModel.NativeFieldInfoPtr_m_Settings)) = value;
			}
		}

		// Token: 0x040064B7 RID: 25783
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x040064B8 RID: 25784
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x040064B9 RID: 25785
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x040064BA RID: 25786
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x040064BB RID: 25787
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000567 RID: 1383
		public enum KernelSize
		{
			// Token: 0x040064BD RID: 25789
			Small,
			// Token: 0x040064BE RID: 25790
			Medium,
			// Token: 0x040064BF RID: 25791
			Large,
			// Token: 0x040064C0 RID: 25792
			VeryLarge
		}

		// Token: 0x02000568 RID: 1384
		[Serializable]
		[StructLayout(LayoutKind.Explicit)]
		public struct Settings
		{
			// Token: 0x170032F6 RID: 13046
			// (get) Token: 0x0600967D RID: 38525 RVA: 0x00269F28 File Offset: 0x00268128
			public unsafe static DepthOfFieldModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 616531, RefRangeEnd = 616533, XrefRangeStart = 616531, XrefRangeEnd = 616531, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(DepthOfFieldModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0, 0, (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					return *IL2CPP.il2cpp_object_unbox(intPtr);
				}
			}

			// Token: 0x0600967E RID: 38526 RVA: 0x00269F6C File Offset: 0x0026816C
			// Note: this type is marked as 'beforefieldinit'.
			static Settings()
			{
				Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, "Settings");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr);
				DepthOfFieldModel.Settings.NativeFieldInfoPtr_focusDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, "focusDistance");
				DepthOfFieldModel.Settings.NativeFieldInfoPtr_aperture = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, "aperture");
				DepthOfFieldModel.Settings.NativeFieldInfoPtr_focalLength = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, "focalLength");
				DepthOfFieldModel.Settings.NativeFieldInfoPtr_useCameraFov = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, "useCameraFov");
				DepthOfFieldModel.Settings.NativeFieldInfoPtr_kernelSize = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, "kernelSize");
				DepthOfFieldModel.Settings.NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, 100675001);
			}

			// Token: 0x0600967F RID: 38527 RVA: 0x0026A00F File Offset: 0x0026820F
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x040064C1 RID: 25793
			private static readonly IntPtr NativeFieldInfoPtr_focusDistance;

			// Token: 0x040064C2 RID: 25794
			private static readonly IntPtr NativeFieldInfoPtr_aperture;

			// Token: 0x040064C3 RID: 25795
			private static readonly IntPtr NativeFieldInfoPtr_focalLength;

			// Token: 0x040064C4 RID: 25796
			private static readonly IntPtr NativeFieldInfoPtr_useCameraFov;

			// Token: 0x040064C5 RID: 25797
			private static readonly IntPtr NativeFieldInfoPtr_kernelSize;

			// Token: 0x040064C6 RID: 25798
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x040064C7 RID: 25799
			[FieldOffset(0)]
			public float focusDistance;

			// Token: 0x040064C8 RID: 25800
			[FieldOffset(4)]
			public float aperture;

			// Token: 0x040064C9 RID: 25801
			[FieldOffset(8)]
			public float focalLength;

			// Token: 0x040064CA RID: 25802
			[FieldOffset(12)]
			[MarshalAs(UnmanagedType.U1)]
			public bool useCameraFov;

			// Token: 0x040064CB RID: 25803
			[FieldOffset(16)]
			public DepthOfFieldModel.KernelSize kernelSize;
		}
	}
}
