本文整理汇总了C#中Gtk.Window.QueueDraw方法的典型用法代码示例。如果您正苦于以下问题:C# Window.QueueDraw方法的具体用法?C# Window.QueueDraw怎么用?C# Window.QueueDraw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gtk.Window
的用法示例。
在下文中一共展示了Window.QueueDraw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
public void Run ()
{
var poof_file = DockServices.Paths.SystemDataFolder.GetChild ("poof.png");
if (!poof_file.Exists)
return;
poof = new Pixbuf (poof_file.Path);
window = new Gtk.Window (Gtk.WindowType.Toplevel);
window.AppPaintable = true;
window.Resizable = false;
window.KeepAbove = true;
window.CanFocus = false;
window.TypeHint = WindowTypeHint.Splashscreen;
window.SetCompositeColormap ();
window.Realized += delegate { window.GdkWindow.SetBackPixmap (null, false); };
window.SetSizeRequest (size, size);
window.ExposeEvent += HandleExposeEvent;
GLib.Timeout.Add (30, delegate {
if (AnimationState == 1) {
window.Hide ();
window.Destroy ();
poof.Dispose ();
return false;
} else {
window.QueueDraw ();
return true;
}
});
window.Move (x, y);
window.ShowAll ();
run_time = DateTime.UtcNow;
}
示例2: CoverArtPanel
public CoverArtPanel(AudioPlayer audioPlayer, params ITrackSelector[] trackSelectors)
: base(false, 0)
{
ButtonBox buttonBox = new HButtonBox();
_selectedButton = new ToggleButton("Selected");
_playingButton = new ToggleButton("Playing");
buttonBox.Add(_playingButton);
buttonBox.Add(_selectedButton);
PackStart(buttonBox, false, false, 0);
EventBox eventBox = new EventBox();
eventBox.Add(_picture);
eventBox.ButtonPressEvent += (o, args) =>
{
var window = new Gtk.Window(WindowType.Toplevel);
var pixbuf = _currentPixbuf.Copy();
AutoScalingImage image = new AutoScalingImage();
window.Add(image);
int left, top, right, bottom;
window.GetFrameDimensions(out left, out top, out right, out bottom);
int windowHeightWithFullImage = pixbuf.Height + top + bottom;
if (windowHeightWithFullImage > Screen.Height)
window.SetDefaultSize(((pixbuf.Width + left + right) * Screen.Height) / windowHeightWithFullImage, Screen.Height);
else
window.SetDefaultSize(pixbuf.Width + left + right, pixbuf.Height + top + bottom);
window.AllowShrink = true;
image.Pixbuf = pixbuf;
Track track = _selectedButton.Active ? _selectedTrack : _playingTrack;
window.Title = String.Format("{0} - {1}",
string.Join("; ", track.Album.Artists.Select(a => a.Name)),
track.Album.Title);
window.ShowAll();
image.QueueResize();
window.SizeAllocated += (o1, allocatedArgs) =>
{
Console.WriteLine("window: {0}", window.Allocation);
Console.WriteLine("args: {0}", allocatedArgs.Allocation);
if (window.Allocation.Width != allocatedArgs.Allocation.Width ||
window.Allocation.Height != allocatedArgs.Allocation.Height)
{
image.SizeAllocate(allocatedArgs.Allocation);
image.QueueResize();
image.QueueDraw();
window.QueueDraw();
}
};
};
PackStart(eventBox, true, true, 0);
_selectedButton.Toggled += SelectedButtonOnToggled;
_playingButton.Toggled += PlayingButtonOnToggled;
foreach (var trackSelector in trackSelectors)
{
if (trackSelector.HasFocus)
_selectedTrack = trackSelector.CurrentTrack;
trackSelector.SelectedTrack += TrackSelectorOnSelectedTrack;
}
audioPlayer.TrackChanged += AudioPlayerOnTrackChanged;
_selectedButton.Shown += (sender, args) => _selectedButton.Active = true;
ShowAll();
}