System.Windows.Forms.XplatUIX11.SetVisible C# (CSharp) Method

SetVisible() private method

private SetVisible ( IntPtr handle, bool visible, bool activate ) : bool
handle IntPtr
visible bool
activate bool
return bool
		internal override bool SetVisible (IntPtr handle, bool visible, bool activate)
		{
			Hwnd	hwnd;

			hwnd = Hwnd.ObjectFromHandle(handle);
			hwnd.visible = visible;

			lock (XlibLock) {
				if (visible) {
					MapWindow(hwnd, WindowType.Both);

					if (Control.FromHandle(handle) is Form) {
						FormWindowState	s;

						s = ((Form)Control.FromHandle(handle)).WindowState;

						switch(s) {
							case FormWindowState.Minimized:	SetWindowState(handle, FormWindowState.Minimized); break;
							case FormWindowState.Maximized:	SetWindowState(handle, FormWindowState.Maximized); break;
						}
					}

					SendMessage(handle, Msg.WM_WINDOWPOSCHANGED, IntPtr.Zero, IntPtr.Zero);
				}
				else {
					UnmapWindow(hwnd, WindowType.Both);
				}
			}
			return true;
		}
XplatUIX11