本文整理汇总了C#中Gdk.Rectangle.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# Rectangle.Contains方法的具体用法?C# Rectangle.Contains怎么用?C# Rectangle.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gdk.Rectangle
的用法示例。
在下文中一共展示了Rectangle.Contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleCursorPositionChanged
void HandleCursorPositionChanged (object sender, CursorPostionChangedArgs e)
{
Gdk.Point cursor = Owner.CursorTracker.Cursor;
int monitor = Owner.Screen.GetMonitorAtPoint (cursor.X, cursor.Y);
Gdk.Rectangle geo = Owner.Screen.GetMonitorGeometry (monitor);
int activeRegion = Math.Min (geo.Height / 3, geo.Width / 3);
Gdk.Rectangle left = new Gdk.Rectangle (geo.X, geo.Y + activeRegion, activeRegion, geo.Height - activeRegion * 2);
Gdk.Rectangle top = new Gdk.Rectangle (geo.X + activeRegion, geo.Y, geo.Width - activeRegion * 2, activeRegion);
Gdk.Rectangle right = new Gdk.Rectangle (geo.X + geo.Width - activeRegion, geo.Y + activeRegion, activeRegion, geo.Height - activeRegion * 2);
Gdk.Rectangle bottom = new Gdk.Rectangle (geo.X + activeRegion, geo.Y + geo.Height - activeRegion, geo.Width - activeRegion * 2, activeRegion);
DockPosition target;
if (top.Contains (cursor))
target = DockPosition.Top;
else if (bottom.Contains (cursor))
target = DockPosition.Bottom;
else if (left.Contains (cursor))
target = DockPosition.Left;
else if (right.Contains (cursor))
target = DockPosition.Right;
else
return;
IDockPreferences prefs = Owner.Preferences;
if (prefs.Position != target || prefs.MonitorNumber != monitor) {
Dock d = Docky.Controller.DocksForMonitor (monitor).FirstOrDefault (dock => dock.Preferences.Position == target);
if (d == null) {
prefs.MonitorNumber = monitor;
prefs.Position = target;
} else {
d.Preferences.MonitorNumber = prefs.MonitorNumber;
d.Preferences.Position = prefs.Position;
prefs.MonitorNumber = monitor;
prefs.Position = target;
}
}
}