private void OnRealized(IntPtr window) { _xid = GetNativeHandle(); var createdEvent = new CreatedEventArgs(IntPtr.Zero, window, _xid); Created?.Invoke(this, createdEvent); _isInitialized = true; }
private void CreateCallback(IntPtr window, IntPtr view) { _windowHandle = window; _viewHandle = view; var createdEvent = new CreatedEventArgs(IntPtr.Zero, _windowHandle, _viewHandle); Created?.Invoke(this, createdEvent); _isInitialized = true; }
private void OnRealized(IntPtr window) { try { _xid = GetNativeHandle(); if (_xid == IntPtr.Zero) { throw new Exception("Window XID is invalid"); } var createdEvent = new CreatedEventArgs(IntPtr.Zero, window, _xid); Created?.Invoke(this, createdEvent); _isInitialized = true; } catch (Exception exception) { Log.Error("Error in LinuxGtk3Host::OnRealized"); Log.Error(exception); } }
private IntPtr WndProc(IntPtr hWnd, uint message, IntPtr wParam, IntPtr lParam) { WM msg = (WM)message; switch (msg) { case WM.HOTKEY: { if (wParam == (IntPtr)1) { PostMessage(_handle, (uint)WM.CLOSE, IntPtr.Zero, IntPtr.Zero); return(IntPtr.Zero); } break; } case WM.SYSKEYDOWN: { if (_options.KioskMode && (wParam == (IntPtr)Keyboard.VirtualKeyStates.VK_F4)) { return(IntPtr.Zero); } break; } case WM.CREATE: { NativeInstance = this; _handle = hWnd; var createdEvent = new CreatedEventArgs(IntPtr.Zero, _handle, _handle); Created?.Invoke(this, createdEvent); _isInitialized = true; break; } case WM.ERASEBKGND: return(new IntPtr(1)); case WM.NCHITTEST: if (_options.WindowFrameless) { return((IntPtr)HT_CAPTION); } break; case WM.MOVING: case WM.MOVE: { Moving?.Invoke(this, new MovingEventArgs()); return(IntPtr.Zero); } case WM.SIZE: { var size = GetClientSize(); SizeChanged?.Invoke(this, new SizeChangedEventArgs(size.Width, size.Height)); break; } case WM.CLOSE: { if (_handle != IntPtr.Zero && _isInitialized) { Close?.Invoke(this, new CloseEventArgs()); } PostQuitMessage(0); Environment.Exit(0); break; } } return(DefWindowProc(hWnd, message, wParam, lParam)); }