rendered paste bodyprotected override bool OnExposeEvent (Gdk.EventExpose e)
{
// base.OnExposeEvent (e);
if(!IsRealized) {
return false;
}
Cairo.Context cr = Gdk.CairoHelper.Create(GdkWindow);
foreach(Gdk.Rectangle rect in e.Region.GetRectangles()) {
Console.WriteLine ("Drawing at {0},{1} {2}x{3}", rect.X, rect.Y, rect.Width, rect.Height);
cr.Rectangle(rect.X, rect.Y, rect.Width, rect.Height);
cr.Clip();
Draw(cr);
}
((IDisposable)cr).Dispose();
return false;
}
private void Draw (Cairo.Context cr)
{
cr.Color = new Cairo.Color (1.0, 1.0, 1.0, 1.0);
cr.Rectangle ((double) 40, (double) 40, (double) 100, (double) 100);
cr.Fill ();
cr.Stroke ();
Console.WriteLine ("Done drawing");
}