using System.Runtime.InteropServices;

namespace Decal.Interop.Inject;

[TypeLibType(TypeLibTypeFlags.FHidden)]
[ClassInterface(ClassInterfaceType.None)]
public sealed class IViewEvents_SinkHelper : IViewEvents
{
	public IViewEvents_OnActivateEventHandler m_OnActivateDelegate;

	public IViewEvents_OnDeactivateEventHandler m_OnDeactivateDelegate;

	public IViewEvents_SizeEventHandler m_SizeDelegate;

	public IViewEvents_SizingEventHandler m_SizingDelegate;

	public int m_dwCookie;

	public void OnActivate()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_OnActivateDelegate != null)
		{
			m_OnActivateDelegate();
		}
	}

	public void OnDeactivate()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_OnDeactivateDelegate != null)
		{
			m_OnDeactivateDelegate();
		}
	}

	public bool Size()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_SizeDelegate != null)
		{
			return m_SizeDelegate();
		}
		return false;
	}

	public void Sizing(int P_0, int P_1, int P_2, int P_3)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_SizingDelegate != null)
		{
			m_SizingDelegate(P_0, P_1, P_2, P_3);
		}
	}

	internal IViewEvents_SinkHelper()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		m_dwCookie = 0;
		m_OnActivateDelegate = null;
		m_OnDeactivateDelegate = null;
		m_SizeDelegate = null;
		m_SizingDelegate = null;
	}
}
