Files
Xune/UIX.RenderApi.Skia/Microsoft/Iris/Render/Protocols/Splash/Desktop/LocalFormWindowCallback.cs
T

421 lines
18 KiB
C#
Raw Normal View History

2021-07-11 22:59:29 -05:00
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Render.Protocols.Splash.Desktop.LocalFormWindowCallback
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
using Microsoft.Iris.Render.Protocol;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace Microsoft.Iris.Render.Protocols.Splash.Desktop
{
2021-07-11 23:04:40 -05:00
internal class LocalFormWindowCallback : RemoteObject
2021-07-11 22:59:29 -05:00
{
2021-07-11 23:04:40 -05:00
private static ushort[] s_priv_ByteOrder_Msg0_OnRendererSuspended;
private static ushort[] s_priv_ByteOrder_Msg1_OnNativeScreensave;
private static ushort[] s_priv_ByteOrder_Msg2_OnShellShutdownHook;
private static ushort[] s_priv_ByteOrder_Msg4_OnDropComplete;
private static ushort[] s_priv_ByteOrder_Msg5_OnPartialDrop;
private static ushort[] s_priv_ByteOrder_Msg6_OnStateChange;
private static ushort[] s_priv_ByteOrder_Msg7_OnTerminalSessionChange;
private static ushort[] s_priv_ByteOrder_Msg8_OnPrivateSysCommand;
private static ushort[] s_priv_ByteOrder_Msg9_OnMouseIdle;
private static ushort[] s_priv_ByteOrder_Msg10_OnCloseRequested;
private static ushort[] s_priv_ByteOrder_Msg11_OnLoad;
private static ushort[] s_priv_ByteOrder_Msg12_OnWindowDestroyed;
protected LocalFormWindowCallback()
{
}
internal static LocalFormWindowCallback CreateCallbackImpl(
RenderPort port,
RENDERHANDLE callbackInstance)
{
return new LocalFormWindowCallback(port, callbackInstance);
}
protected LocalFormWindowCallback(RenderPort port, RENDERHANDLE handle)
: base(port, handle, false)
{
}
public override bool Equals(object other) => other is LocalFormWindowCallback && this.m_renderHandle == ((RemoteObject)other).m_renderHandle;
public override int GetHashCode() => base.GetHashCode();
2021-07-11 23:41:18 -05:00
internal static unsafe RENDERHANDLE BindCallback(RenderPort port) => port.RegisterCallback(new PortCallback(DispatchCallback), out uint _);
2021-07-11 23:04:40 -05:00
private static unsafe void DispatchCallback(
RenderPort port,
IRenderHandleOwner owner,
CallbackMessage* message)
{
if (!(owner is IFormWindowCallback _priv_target))
return;
switch (message->nMsg)
{
case 0:
2021-07-11 23:07:04 -05:00
Dispatch_OnRendererSuspended(port, _priv_target, (LocalFormWindowCallback.Msg0_OnRendererSuspended*)message);
2021-07-11 23:04:40 -05:00
break;
case 1:
2021-07-11 23:07:04 -05:00
Dispatch_OnNativeScreensave(port, _priv_target, (LocalFormWindowCallback.Msg1_OnNativeScreensave*)message);
2021-07-11 23:04:40 -05:00
break;
case 2:
2021-07-11 23:07:04 -05:00
Dispatch_OnShellShutdownHook(port, _priv_target, (LocalFormWindowCallback.Msg2_OnShellShutdownHook*)message);
2021-07-11 23:04:40 -05:00
break;
case 3:
2021-07-11 23:07:04 -05:00
Dispatch_OnSetFocus(port, _priv_target, (LocalFormWindowCallback.Msg3_OnSetFocus*)message);
2021-07-11 23:04:40 -05:00
break;
case 4:
2021-07-11 23:07:04 -05:00
Dispatch_OnDropComplete(port, _priv_target, (LocalFormWindowCallback.Msg4_OnDropComplete*)message);
2021-07-11 23:04:40 -05:00
break;
case 5:
2021-07-11 23:07:04 -05:00
Dispatch_OnPartialDrop(port, _priv_target, (LocalFormWindowCallback.Msg5_OnPartialDrop*)message);
2021-07-11 23:04:40 -05:00
break;
case 6:
2021-07-11 23:07:04 -05:00
Dispatch_OnStateChange(port, _priv_target, (LocalFormWindowCallback.Msg6_OnStateChange*)message);
2021-07-11 23:04:40 -05:00
break;
case 7:
2021-07-11 23:07:04 -05:00
Dispatch_OnTerminalSessionChange(port, _priv_target, (LocalFormWindowCallback.Msg7_OnTerminalSessionChange*)message);
2021-07-11 23:04:40 -05:00
break;
case 8:
2021-07-11 23:07:04 -05:00
Dispatch_OnPrivateSysCommand(port, _priv_target, (LocalFormWindowCallback.Msg8_OnPrivateSysCommand*)message);
2021-07-11 23:04:40 -05:00
break;
case 9:
2021-07-11 23:07:04 -05:00
Dispatch_OnMouseIdle(port, _priv_target, (LocalFormWindowCallback.Msg9_OnMouseIdle*)message);
2021-07-11 23:04:40 -05:00
break;
case 10:
2021-07-11 23:07:04 -05:00
Dispatch_OnCloseRequested(port, _priv_target, (LocalFormWindowCallback.Msg10_OnCloseRequested*)message);
2021-07-11 23:04:40 -05:00
break;
case 11:
2021-07-11 23:07:04 -05:00
Dispatch_OnLoad(port, _priv_target, (LocalFormWindowCallback.Msg11_OnLoad*)message);
2021-07-11 23:04:40 -05:00
break;
case 12:
2021-07-11 23:07:04 -05:00
Dispatch_OnWindowDestroyed(port, _priv_target, (LocalFormWindowCallback.Msg12_OnWindowDestroyed*)message);
2021-07-11 23:04:40 -05:00
break;
case 13:
2021-07-11 23:07:04 -05:00
Dispatch_OnWindowCreated(port, _priv_target, (LocalFormWindowCallback.Msg13_OnWindowCreated*)message);
2021-07-11 23:04:40 -05:00
break;
}
}
private static unsafe void Dispatch_OnRendererSuspended(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg0_OnRendererSuspended* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg0_OnRendererSuspended, typeof(LocalFormWindowCallback.Msg0_OnRendererSuspended), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
bool fEnabled = _priv_pmsg->fEnabled != 0U;
_priv_target.OnRendererSuspended(target, fEnabled);
}
private static unsafe void Dispatch_OnNativeScreensave(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg1_OnNativeScreensave* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg1_OnNativeScreensave, typeof(LocalFormWindowCallback.Msg1_OnNativeScreensave), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
bool fStartScreensave = _priv_pmsg->fStartScreensave != 0U;
_priv_target.OnNativeScreensave(target, fStartScreensave);
}
private static unsafe void Dispatch_OnShellShutdownHook(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg2_OnShellShutdownHook* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg2_OnShellShutdownHook, typeof(LocalFormWindowCallback.Msg2_OnShellShutdownHook), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
ushort uIdMsg = _priv_pmsg->uIdMsg;
_priv_target.OnShellShutdownHook(target, uIdMsg);
}
private static unsafe void Dispatch_OnSetFocus(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg3_OnSetFocus* _priv_pmsg)
{
RENDERHANDLE target = _priv_pmsg->target;
bool focused = _priv_pmsg->focused != 0U;
HWND hwndFocusChange = _priv_pmsg->hwndFocusChange;
_priv_target.OnSetFocus(target, focused, hwndFocusChange);
}
private static unsafe void Dispatch_OnDropComplete(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg4_OnDropComplete* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg4_OnDropComplete, typeof(LocalFormWindowCallback.Msg4_OnDropComplete), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
_priv_target.OnDropComplete(target);
}
private static unsafe void Dispatch_OnPartialDrop(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg5_OnPartialDrop* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg5_OnPartialDrop, typeof(LocalFormWindowCallback.Msg5_OnPartialDrop), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
string file;
MarshalHelper.Decode(_priv_port, (Message*)_priv_pmsg, _priv_pmsg->file, out file);
_priv_target.OnPartialDrop(target, file);
}
private static unsafe void Dispatch_OnStateChange(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg6_OnStateChange* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg6_OnStateChange, typeof(LocalFormWindowCallback.Msg6_OnStateChange), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
Message* pmsgInner;
MarshalHelper.Decode(_priv_port, (Message*)_priv_pmsg, _priv_pmsg->stateInfo, out pmsgInner);
_priv_target.OnStateChange(target, pmsgInner);
}
private static unsafe void Dispatch_OnTerminalSessionChange(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg7_OnTerminalSessionChange* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg7_OnTerminalSessionChange, typeof(LocalFormWindowCallback.Msg7_OnTerminalSessionChange), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
IntPtr wParam = _priv_pmsg->wParam;
IntPtr lParam = _priv_pmsg->lParam;
_priv_target.OnTerminalSessionChange(target, wParam, lParam);
}
private static unsafe void Dispatch_OnPrivateSysCommand(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg8_OnPrivateSysCommand* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg8_OnPrivateSysCommand, typeof(LocalFormWindowCallback.Msg8_OnPrivateSysCommand), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
IntPtr wParam = _priv_pmsg->wParam;
IntPtr lParam = _priv_pmsg->lParam;
_priv_target.OnPrivateSysCommand(target, wParam, lParam);
}
private static unsafe void Dispatch_OnMouseIdle(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg9_OnMouseIdle* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg9_OnMouseIdle, typeof(LocalFormWindowCallback.Msg9_OnMouseIdle), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
bool fNewIdle = _priv_pmsg->fNewIdle != 0U;
_priv_target.OnMouseIdle(target, fNewIdle);
}
private static unsafe void Dispatch_OnCloseRequested(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg10_OnCloseRequested* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg10_OnCloseRequested, typeof(LocalFormWindowCallback.Msg10_OnCloseRequested), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
_priv_target.OnCloseRequested(target);
}
private static unsafe void Dispatch_OnLoad(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg11_OnLoad* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg11_OnLoad, typeof(LocalFormWindowCallback.Msg11_OnLoad), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
_priv_target.OnLoad(target);
}
private static unsafe void Dispatch_OnWindowDestroyed(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg12_OnWindowDestroyed* _priv_pmsg)
{
if (_priv_port.ForeignByteOrder)
2021-07-11 23:07:04 -05:00
MarshalHelper.SwapByteOrder((byte*)_priv_pmsg, ref s_priv_ByteOrder_Msg12_OnWindowDestroyed, typeof(LocalFormWindowCallback.Msg12_OnWindowDestroyed), sizeof(CallbackMessage), 0);
2021-07-11 23:04:40 -05:00
RENDERHANDLE target = _priv_pmsg->target;
uint nFinalShow = _priv_pmsg->nFinalShow;
Rectangle rcLastPosition = _priv_pmsg->rcLastPosition;
Point finalMaxPosition = _priv_pmsg->ptFinalMaxPosition;
_priv_target.OnWindowDestroyed(target, nFinalShow, rcLastPosition, finalMaxPosition);
}
private static unsafe void Dispatch_OnWindowCreated(
RenderPort _priv_port,
IFormWindowCallback _priv_target,
LocalFormWindowCallback.Msg13_OnWindowCreated* _priv_pmsg)
{
RENDERHANDLE target = _priv_pmsg->target;
HWND hWnd = _priv_pmsg->m_hWnd;
_priv_target.OnWindowCreated(target, hWnd);
}
[Conditional("DEBUG")]
private static unsafe void OnInvalidCallback(CallbackMessage* message, string category)
{
}
[ComVisible(false)]
private struct Msg0_OnRendererSuspended
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public uint fEnabled;
}
[ComVisible(false)]
private struct Msg1_OnNativeScreensave
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public uint fStartScreensave;
}
[ComVisible(false)]
private struct Msg2_OnShellShutdownHook
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public ushort uIdMsg;
}
[ComVisible(false)]
private struct Msg3_OnSetFocus
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public uint focused;
public HWND hwndFocusChange;
}
[ComVisible(false)]
private struct Msg4_OnDropComplete
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
}
[ComVisible(false)]
private struct Msg5_OnPartialDrop
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public BLOBREF file;
}
[ComVisible(false)]
private struct Msg6_OnStateChange
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public BLOBREF stateInfo;
}
[ComVisible(false)]
private struct Msg7_OnTerminalSessionChange
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public IntPtr wParam;
public IntPtr lParam;
}
[ComVisible(false)]
private struct Msg8_OnPrivateSysCommand
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public IntPtr wParam;
public IntPtr lParam;
}
[ComVisible(false)]
private struct Msg9_OnMouseIdle
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public uint fNewIdle;
}
[ComVisible(false)]
private struct Msg10_OnCloseRequested
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
}
[ComVisible(false)]
private struct Msg11_OnLoad
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
}
[ComVisible(false)]
private struct Msg12_OnWindowDestroyed
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public uint nFinalShow;
public Rectangle rcLastPosition;
public Point ptFinalMaxPosition;
}
[ComVisible(false)]
private struct Msg13_OnWindowCreated
{
public uint _priv_size;
public uint _priv_msgid;
public RENDERHANDLE _priv_idObjectSubject;
public RENDERHANDLE target;
public HWND m_hWnd;
}
2021-07-11 22:59:29 -05:00
}
}