using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using Decal.Interop.Inject;

namespace Decal.Interop.Controls;

[ComImport]
[ClassInterface(ClassInterfaceType.None)]
[SuppressUnmanagedCodeSecurity]
[TypeLibType(2)]
[Guid("48E444F1-8E30-4E4C-B203-4C87FC901586")]
public class CheckColumnClass : IListColumn, CheckColumn
{
	[DispId(1610678272)]
	public virtual extern bool FixedWidth
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		get;
	}

	[DispId(1610678273)]
	public virtual extern int Width
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		get;
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		set;
	}

	[DispId(1610678275)]
	public virtual extern int DataColumns
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		get;
	}

	[DispId(1610678278)]
	public virtual extern int Height
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		get;
	}

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	public virtual extern void Render([MarshalAs(UnmanagedType.Interface)] Canvas __MIDL__IListColumn0000, ref tagPOINT ptCell, int nColor);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	public virtual extern void Initialize([In][MarshalAs(UnmanagedType.Interface)] IList newVal, [In][MarshalAs(UnmanagedType.Interface)] PluginSite pSite);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	public virtual extern void SchemaLoad([MarshalAs(UnmanagedType.IUnknown)] object pSchema);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	public virtual extern void Activate(ref tagPOINT ptCell);
}
