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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005BE RID: 1470
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x17003590 RID: 13712
		// (get) Token: 0x06009EC8 RID: 40648 RVA: 0x0028CA44 File Offset: 0x0028AC44
		// (set) Token: 0x06009EC9 RID: 40649 RVA: 0x0028CA94 File Offset: 0x0028AC94
		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: 0x06009ECA RID: 40650 RVA: 0x0028CAE8 File Offset: 0x0028ACE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 648843, XrefRangeEnd = 648844, 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: 0x06009ECB RID: 40651 RVA: 0x0028CB38 File Offset: 0x0028AD38
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 648846, RefRangeEnd = 648847, XrefRangeStart = 648844, XrefRangeEnd = 648846, 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: 0x06009ECC RID: 40652 RVA: 0x0028CB84 File Offset: 0x0028AD84
		// 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, 100675710);
			DepthOfFieldModel.NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100675711);
			DepthOfFieldModel.NativeMethodInfoPtr_Reset_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100675712);
			DepthOfFieldModel.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<DepthOfFieldModel>.NativeClassPtr, 100675713);
		}

		// Token: 0x06009ECD RID: 40653 RVA: 0x00289EDC File Offset: 0x002880DC
		public DepthOfFieldModel(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700358F RID: 13711
		// (get) Token: 0x06009ECE RID: 40654 RVA: 0x0028CC18 File Offset: 0x0028AE18
		// (set) Token: 0x06009ECF RID: 40655 RVA: 0x0028CC40 File Offset: 0x0028AE40
		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: 0x04006A60 RID: 27232
		private static readonly IntPtr NativeFieldInfoPtr_m_Settings;

		// Token: 0x04006A61 RID: 27233
		private static readonly IntPtr NativeMethodInfoPtr_get_settings_Public_get_Settings_0;

		// Token: 0x04006A62 RID: 27234
		private static readonly IntPtr NativeMethodInfoPtr_set_settings_Public_set_Void_Settings_0;

		// Token: 0x04006A63 RID: 27235
		private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Virtual_Void_0;

		// Token: 0x04006A64 RID: 27236
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005BF RID: 1471
		public enum KernelSize
		{
			// Token: 0x04006A66 RID: 27238
			Small,
			// Token: 0x04006A67 RID: 27239
			Medium,
			// Token: 0x04006A68 RID: 27240
			Large,
			// Token: 0x04006A69 RID: 27241
			VeryLarge
		}

		// Token: 0x020005C0 RID: 1472
		[Serializable]
		[StructLayout(2)]
		public struct Settings
		{
			// Token: 0x17003591 RID: 13713
			// (get) Token: 0x06009ED0 RID: 40656 RVA: 0x0028CC64 File Offset: 0x0028AE64
			public unsafe static DepthOfFieldModel.Settings defaultSettings
			{
				[CallerCount(2)]
				[CachedScanResults(RefRangeStart = 648841, RefRangeEnd = 648843, XrefRangeStart = 648841, XrefRangeEnd = 648841, 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: 0x06009ED1 RID: 40657 RVA: 0x0028CCA8 File Offset: 0x0028AEA8
			// 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, 100675714);
			}

			// Token: 0x06009ED2 RID: 40658 RVA: 0x0028CD4B File Offset: 0x0028AF4B
			public Object BoxIl2CppObject()
			{
				return new Object(IL2CPP.il2cpp_value_box(Il2CppClassPointerStore<DepthOfFieldModel.Settings>.NativeClassPtr, ref this));
			}

			// Token: 0x04006A6A RID: 27242
			private static readonly IntPtr NativeFieldInfoPtr_focusDistance;

			// Token: 0x04006A6B RID: 27243
			private static readonly IntPtr NativeFieldInfoPtr_aperture;

			// Token: 0x04006A6C RID: 27244
			private static readonly IntPtr NativeFieldInfoPtr_focalLength;

			// Token: 0x04006A6D RID: 27245
			private static readonly IntPtr NativeFieldInfoPtr_useCameraFov;

			// Token: 0x04006A6E RID: 27246
			private static readonly IntPtr NativeFieldInfoPtr_kernelSize;

			// Token: 0x04006A6F RID: 27247
			private static readonly IntPtr NativeMethodInfoPtr_get_defaultSettings_Public_Static_get_Settings_0;

			// Token: 0x04006A70 RID: 27248
			[FieldOffset(0)]
			public float focusDistance;

			// Token: 0x04006A71 RID: 27249
			[FieldOffset(4)]
			public float aperture;

			// Token: 0x04006A72 RID: 27250
			[FieldOffset(8)]
			public float focalLength;

			// Token: 0x04006A73 RID: 27251
			[FieldOffset(12)]
			[MarshalAs(4)]
			public bool useCameraFov;

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