Files
lserp_cs_5.0/插件库/Cef3.24/Interop/Structs/cef_settings_t.cs
T
2026-07-10 15:25:05 +08:00

67 lines
2.2 KiB
C#

//
// This file manually written from cef/include/internal/cef_types.h.
// C API name: cef_settings_t.
//
// Note: cef_settings_t structure in CEF has 2 layouts (choosed in compile time),
// so in C# we make different structures and will choose layouts in runtime.
// Windows platform: cef_settings_t_windows.
// Non-windows platforms: cef_settings_t_posix.
//
namespace Cef3.Interop
{
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, Pack = libcef.ALIGN)]
internal unsafe struct cef_settings_t
{
public UIntPtr size;
public int single_process;
public int no_sandbox;
public cef_string_t browser_subprocess_path;
public int multi_threaded_message_loop;
public int windowless_rendering_enabled;
public int command_line_args_disabled;
public cef_string_t cache_path;
public cef_string_t user_data_path;
public int persist_session_cookies;
public cef_string_t user_agent;
public cef_string_t product_version;
public cef_string_t locale;
public cef_string_t log_file;
public CefLogSeverity log_severity;
public cef_string_t javascript_flags;
public cef_string_t resources_dir_path;
public cef_string_t locales_dir_path;
public int pack_loading_disabled;
public int remote_debugging_port;
public int uncaught_exception_stack_size;
public int context_safety_implementation;
public int ignore_certificate_errors;
public uint background_color;
public cef_string_t accept_language_list;
#region Alloc & Free
private static int _sizeof;
static cef_settings_t()
{
_sizeof = Marshal.SizeOf(typeof(cef_settings_t));
}
public static cef_settings_t* Alloc()
{
var ptr = (cef_settings_t*)Marshal.AllocHGlobal(_sizeof);
*ptr = new cef_settings_t();
ptr->size = (UIntPtr)_sizeof;
return ptr;
}
public static void Free(cef_settings_t* ptr)
{
Marshal.FreeHGlobal((IntPtr)ptr);
}
#endregion
}
}