public static void CenterChildToParent(Gtk.Window parent,Gtk.Window child) { if (parent==null || child == null) return; int parentX = 0; int parentY = 0; int parentW = 0; int parentH = 0; parent.GetPosition(out parentX,out parentY); parent.GetSize(out parentW,out parentH); int w = 0; int h = 0; child.GetSize(out w,out h); var x = parentX + Convert.ToInt32( (parentW-w) / 2); var y = parentY + Convert.ToInt32( (parentH-h) / 2); if (x<=0) x =0; if (y<=0) y =0; child.Move(x,y); child.KeepAbove = true; }
public static void MoveBy(Gtk.Window window, int x, int y) { int winX, winY; window.GetPosition(out winX, out winY); window.Move(winX + x, winY + y); }
public virtual Gtk.Window ShowTooltipWindow (MonoTextEditor editor, Gtk.Window tipWindow, int offset, Gdk.ModifierType modifierState, int mouseX, int mouseY, TooltipItem item) { int ox = 0, oy = 0; if (editor.GdkWindow != null) editor.GdkWindow.GetOrigin (out ox, out oy); int w; double xalign; GetRequiredPosition (editor, tipWindow, out w, out xalign); w += 10; int x = mouseX + ox + editor.Allocation.X; int y = mouseY + oy + editor.Allocation.Y; Gdk.Rectangle geometry = editor.Screen.GetUsableMonitorGeometry (editor.Screen.GetMonitorAtPoint (x, y)); x -= (int) ((double) w * xalign); y += 10; if (x + w >= geometry.X + geometry.Width) x = geometry.X + geometry.Width - w; if (x < geometry.Left) x = geometry.Left; int h = tipWindow.SizeRequest ().Height; if (y + h >= geometry.Y + geometry.Height) y = geometry.Y + geometry.Height - h; if (y < geometry.Top) y = geometry.Top; tipWindow.Move (x, y); tipWindow.ShowAll (); return tipWindow; }
public static void FadeOut(Gtk.Window window, uint millisecondsTimeout) { int screenHeight = window.Screen.Height + 10; int winX, winY; do { window.GetPosition(out winX, out winY); window.Move(winX, winY + 1); //System.Threading.Thread.Sleep(millisecondsTimeout); TimeUtils.Sleep(millisecondsTimeout); } while (winY <= screenHeight); }
public static void FadeIn(Gtk.Window window, uint millisecondsTimeout) { int screenHeight = window.Screen.Height; int winWidth, winHeight; int winX, winY; // Hide Window At Bottom of The Screen window.GetPosition(out winX, out winY); //int firstWinY = winY; window.GetSize(out winWidth, out winHeight); window.Move(winX, screenHeight); // Rise Window do { window.GetPosition(out winX, out winY); window.Move(winX, winY - 1); //System.Threading.Thread.Sleep(millisecondsTimeout); TimeUtils.Sleep(millisecondsTimeout); //} while (winY >= firstWinY); } while (winY > (screenHeight - winHeight)); }
public static void Shake(Gtk.Window window, int times) { int winX, winY; Gtk.Application.Invoke(delegate { window.GetPosition(out winX, out winY); for (int i=10; i > 0; i--) { for (int j=times; j > 0; j--) { MoveBy(window, 0, i); TimeUtils.Sleep(5); MoveBy(window, i, 0); TimeUtils.Sleep(5); MoveBy(window, 0, -i); TimeUtils.Sleep(5); MoveBy(window, -i, 0); TimeUtils.Sleep(5); } } window.Move(winX, winY); }); }
/// <summary>Centers a window relative to its parent.</summary> static void CenterWindow(Gtk.Window child, Gtk.Window parent) { child.Child.Show (); int w, h, winw, winh, x, y, winx, winy; if (child.Visible) child.GetSize (out w, out h); else { w = child.DefaultSize.Width; h = child.DefaultSize.Height; } parent.GetSize (out winw, out winh); parent.GetPosition (out winx, out winy); x = Math.Max (0, (winw - w) /2) + winx; y = Math.Max (0, (winh - h) /2) + winy; child.Move (x, y); }
internal virtual void PlaceWindow (Gtk.Window window, int x, int y, int width, int height) { window.Move (x, y); window.Resize (width, height); }
// Pinta TODO: This may need to be overridden for Mac? private void PlaceWindow (Gtk.Window window, int x, int y, int width, int height) { window.Move (x, y); window.Resize (width, height); }
/// <summary>Centers a window relative to its parent.</summary> static void CenterWindow(Gtk.Window child, Gtk.Window parent) { child.Child.Show (); int w, h, winw, winh, x, y, winx, winy; child.GetSize (out w, out h); parent.GetSize (out winw, out winh); parent.GetPosition (out winx, out winy); x = Math.Max (0, (winw - w) /2) + winx; y = Math.Max (0, (winh - h) /2) + winy; child.Move (x, y); }