using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;

namespace Decal.Interop.Inject;

[ComImport]
[InterfaceType(1)]
[Guid("DEDCD5AA-F6CA-4DA5-A657-E82F126ABBCD")]
[SuppressUnmanagedCodeSecurity]
public interface IIconCache
{
	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	void DrawIcon(ref tagPOINT ppt, int nFile, int nModule, [MarshalAs(UnmanagedType.Interface)] Canvas pTarget);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	void DrawIconEx(ref tagPOINT ppt, int nFile, int nModule, [MarshalAs(UnmanagedType.Interface)] Canvas pTarget, int lColor);
}
