+ public event EventHandler<MouseInOutEventArgs> MouseInOutEvent
+ {
+ add
+ {
+ if (windowMouseInOutEventHandler == null)
+ {
+ windowMouseInOutEventCallback = OnWindowMouseInOutEvent;
+ using WindowMouseInOutEventSignal signal = new WindowMouseInOutEventSignal(Interop.WindowMouseInOutEventSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Connect(windowMouseInOutEventCallback);
+ }
+ windowMouseInOutEventHandler += value;
+ }
+ remove
+ {
+ windowMouseInOutEventHandler -= value;
+ if (windowMouseInOutEventHandler == null && windowMouseInOutEventCallback != null)
+ {
+ using WindowMouseInOutEventSignal signal = new WindowMouseInOutEventSignal(Interop.WindowMouseInOutEventSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Disconnect(windowMouseInOutEventCallback);
+ windowMouseInOutEventCallback = null;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Emits the event when window has been moved by the display server.<br />
+ /// To make the window move by display server, RequestMoveToServer() should be called.<br />
+ /// After the moving job is completed, this signal will be emitted.<br />
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler<WindowMoveCompletedEventArgs> MoveCompleted
+ {
+ add
+ {
+ if (moveCompletedHandler == null)
+ {
+ moveCompletedEventCallback = OnMoveCompleted;
+ using WindowMoveCompletedSignal signal = new WindowMoveCompletedSignal(Interop.WindowMoveCompletedSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Connect(moveCompletedEventCallback);
+ }
+ moveCompletedHandler += value;
+ }
+ remove
+ {
+ moveCompletedHandler -= value;
+ if (moveCompletedHandler == null && moveCompletedEventCallback != null)
+ {
+ using WindowMoveCompletedSignal signal = new WindowMoveCompletedSignal(Interop.WindowMoveCompletedSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Disconnect(moveCompletedEventCallback);
+ moveCompletedEventCallback = null;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Emits the event when window has been resized by the display server.<br />
+ /// To make the window resize by display server, RequestResizeToServer() should be called.<br />
+ /// After the resizing job is completed, this signal will be emitted.<br />
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler<WindowResizeCompletedEventArgs> ResizeCompleted
+ {
+ add
+ {
+ if (resizeCompletedHandler == null)
+ {
+ resizeCompletedEventCallback = OnResizeCompleted;
+ using WindowResizeCompletedSignal signal = new WindowResizeCompletedSignal(Interop.WindowResizeCompletedSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Connect(resizeCompletedEventCallback);
+ }
+ resizeCompletedHandler += value;
+ }
+ remove
+ {
+ resizeCompletedHandler -= value;
+ if (resizeCompletedHandler == null && resizeCompletedEventCallback != null)
+ {
+ using WindowResizeCompletedSignal signal = new WindowResizeCompletedSignal(Interop.WindowResizeCompletedSignal.GetSignal(SwigCPtr), false);
+ signal.Ensure()?.Disconnect(resizeCompletedEventCallback);
+ resizeCompletedEventCallback = null;
+ }
+ }
+ }
+