本文整理汇总了C#中Mono.TextEditor.CodeSegmentPreviewWindow.CalculateSize方法的典型用法代码示例。如果您正苦于以下问题:C# CodeSegmentPreviewWindow.CalculateSize方法的具体用法?C# CodeSegmentPreviewWindow.CalculateSize怎么用?C# CodeSegmentPreviewWindow.CalculateSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.TextEditor.CodeSegmentPreviewWindow
的用法示例。
在下文中一共展示了CodeSegmentPreviewWindow.CalculateSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShowTooltip
void ShowTooltip (ISegment segment, Rectangle hintRectangle)
{
if (previewSegment == segment)
return;
CancelCodeSegmentTooltip ();
HideCodeSegmentPreviewWindow ();
previewSegment = segment;
if (segment == null)
return;
codeSegmentTooltipTimeoutId = GLib.Timeout.Add (650, delegate {
previewWindow = new CodeSegmentPreviewWindow (this.textEditor, false, segment);
int ox = 0, oy = 0;
this.textEditor.GdkWindow.GetOrigin (out ox, out oy);
int x = hintRectangle.Right;
int y = hintRectangle.Bottom;
previewWindow.CalculateSize ();
int w = previewWindow.SizeRequest ().Width;
int h = previewWindow.SizeRequest ().Height;
Gdk.Rectangle geometry = this.textEditor.Screen.GetMonitorGeometry (this.textEditor.Screen.GetMonitorAtPoint (ox + x, oy + y));
if (x + ox + w > geometry.Right)
x = hintRectangle.Left - w;
if (y + oy + h > geometry.Bottom)
y = hintRectangle.Top - h;
int destX = System.Math.Max (0, ox + x);
int destY = System.Math.Max (0, oy + y);
previewWindow.Move (destX, destY);
previewWindow.ShowAll ();
return false;
});
}